空指针求解

问题描述

packagecom.lovo.book;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.Properties;publicclassIO{publicvoidoutput(Propertiesprop){FileOutputStreamfos=null;try{fos=newFileOutputStream("1.properties");try{prop.store(fos,null);fos.flush();}catch(IOExceptione2){//TODO自动生成catch块e2.printStackTrace();}}catch(FileNotFoundExceptione1){//TODO自动生成catch块e1.printStackTrace();}finally{if(fos==null){try{fos.close();}catch(IOExceptione){//TODO自动生成catch块e.printStackTrace();}}}}publicvoidinput(){Propertiesprop=newProperties();FileInputStreamfli=null;try{fli=newFileInputStream("1.properties");prop.load(fli);}catch(FileNotFoundExceptione){//TODO自动生成catch块e.printStackTrace();}catch(IOExceptione){//TODO自动生成catch块e.printStackTrace();}finally{if(fli==null){try{fli.close();}catch(IOExceptione){//TODO自动生成catch块e.printStackTrace();}}}}packagecom.lovo.book;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.util.Properties;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JTextField;publicclassPhoneGUIextendsJFrameimplementsActionListener{privateJTextFieldjtf1=newJTextField();privateJTextFieldjtf2=newJTextField();privateJTextFieldjtf3=newJTextField();privateJTextFieldjtf4=newJTextField();privateIOio=newIO();privatePropertiesprop;FileOutputStreamfos;privateJButtonjbt1=newJButton("储存");privateJButtonjbt2=newJButton("删除");publicPhoneGUI(){this.setLayout(null);//创建标签组件JLabeljlb1=newJLabel("姓名:");jlb1.setBounds(40,50,40,25);JLabeljlb2=newJLabel("性别:");jlb2.setBounds(220,50,40,25);JLabeljlb3=newJLabel("电话:");jlb3.setBounds(40,100,40,25);JLabeljlb4=newJLabel("QQ:");jlb4.setBounds(220,100,40,25);//创建单行文本框jtf1.setBounds(80,50,100,25);jtf2.setBounds(260,50,100,25);jtf3.setBounds(80,100,100,25);jtf4.setBounds(260,100,100,25);//创建按钮jbt1.setBounds(50,150,80,25);jbt1.addActionListener(this);jbt2.setBounds(150,150,80,25);jbt1.addActionListener(this);//把组件加入到容器this.add(jlb1);this.add(jlb2);this.add(jlb3);this.add(jlb4);this.add(jtf1);this.add(jtf2);this.add(jtf3);this.add(jtf4);this.add(jbt1);this.add(jbt2);this.setTitle("通讯录");this.setResizable(false);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);this.setSize(400,250);this.setVisible(true);}publicstaticvoidmain(String[]args){PhoneGUIpho=newPhoneGUI();}publicvoidactionPerformed(ActionEvente){//TODO自动生成方法存根if(e.getActionCommand().equals("储存")){《这是空指针》“Stringstr1=jtf1.getText();Stringstr2=jtf2.getText();Stringstr3=jtf3.getText();Stringstr4=jtf4.getText();”try{fos.write(str1.getBytes());fos.write(str2.getBytes());fos.write(str3.getBytes());fos.write(str4.getBytes());io.output(prop);}catch(IOExceptione1){//TODO自动生成catch块e1.printStackTrace();}}}}

解决方案

解决方案二:
你的fos,prop都没有初始化。这是我改的publicvoidactionPerformed(ActionEvente){//TODO自动生成方法存根if(e.getActionCommand().equals("储存")){//《这是空指针》Stringstr1=jtf1.getText();Stringstr2=jtf2.getText();Stringstr3=jtf3.getText();Stringstr4=jtf4.getText();try{prop=newProperties();//createObjectprop.put("name",str1);prop.put("sex",str2);prop.put("phone",str3);prop.put("qq",str4);io.output(prop);}catch(Exceptione1){//TODO自动生成catch块e1.printStackTrace();}}}

时间: 2024-10-30 02:32:42

空指针求解的相关文章

spring-【求解】SPRING namedParameterJdbcTemplate为什么返回null?

问题描述 [求解]SPRING namedParameterJdbcTemplate为什么返回null? 使用spring jdbc 首先. dataSource 用的C3P0 , 测试没有问题. 其次是DefaultService接口 public interface DefaultService {} 以及DefaultServiceImpl public class DefaultServiceImpl extends NamedParameterJdbcDaoSupport implem

native-安卓中的问题,求解各位大神

问题描述 安卓中的问题,求解各位大神 小白一枚,各位的大神帮帮忙 04-25 06:20:34.723: E/AndroidRuntime(1267): FATAL EXCEPTION: main 04-25 06:20:34.723: E/AndroidRuntime(1267): java.lang.NullPointerException 04-25 06:20:34.723: E/AndroidRuntime(1267): at com.example.mycar.MycarActivi

java 打印目录下所有文件和目录的名字 疑问求解

问题描述 java 打印目录下所有文件和目录的名字 疑问求解 结果为: Exception in thread "main" java.lang.NullPointerException at IO.打印目录下所有目录名文件名.print(打印目录下所有目录名文件名.java:10) at IO.打印目录下所有目录名文件名.main(打印目录下所有目录名文件名.java:25) 如果把main方法中File file = new File("d:"); 空指针异常会

线性表-c语言程序编译都没问题,运行就崩溃,求解!!!

问题描述 c语言程序编译都没问题,运行就崩溃,求解!!! #include #include #define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define OVERFLOW -1#define OK 1#define ERROR 0typedef int ElemType;typedef struct{ ElemType *elem;//存储空间基址 int length;//当前长度 int listsize;//当前分配的存储容量}SqL

nodejs写的聊天室chome一直在报错求解

问题描述 nodejs写的聊天室chome一直在报错求解 写了一个聊天室,但是chrome控制台一直在报错,这是我的项目目录:html部分代码 <!DOCTYPE html><html> <head> <meta charset=""utf-8"" /> <title></title> <link rel=""stylesheet"" href=&q

类别-Objective-C基础教程中一句话读不懂,求解!

问题描述 Objective-C基础教程中一句话读不懂,求解! 在第12章类别前边第一段中有:"当使用类方法stringWithFormatFor生成一个新类时,你新建的NSString类的子类无法返回." 解决方案 NSString实际上只是一个类簇的前台表示,因而无法为这样的类创建子类.在其他情况下,你也许可以创建子类但你使用的却是工具包或类库,因为又无法处理新类的对象.例如,当使用类方法stringWithFormatFor生成一个新的字符串时,你新建的NSString类的子类无

sdk-问一个Android开发的环境安装问题!求解!

问题描述 问一个Android开发的环境安装问题!求解! 我安装Android SDK点击SDK Manager.exe之后这个界面不是有很多的包可以安装吗?怎么我的这个就是这么点希望大神帮我下! 解决方案 参考下这个, http://jingyan.baidu.com/article/b0b63dbfd0948c4a483070ea.html 因为现在国内连不上google了... 解决方案二: 参考下这个, http://jingyan.baidu.com/article/b0b63dbfd

数据结构-最小生成树的答案错误,求解

问题描述 最小生成树的答案错误,求解 #include #include #define INFINTY 51//不知道怎么定义,才算无穷大 #define MAX_VERTEX_NUM 50 typedef struct { int a[MAX_VERTEX_NUM];//顶点向量 int edges[MAX_VERTEX_NUM[MAX_VERTEX_NUM];//邻接矩阵 int n,;//顶点数 }Graph; int Prim(Graph G){ int *a=(int *)mallo

jdbcdaosupport-Spring mvc 空指针错误

问题描述 Spring mvc 空指针错误 LoginController @Controller public class LoginController { @RequestMapping("test") public void login() { LoginServiceImp loginService = new LoginServiceImp(); loginService.loadUserInfo(); } } LoginServiceImp public class Lo