use*_*210 8 java login nullpointerexception
我正在尝试为我的程序实现一个登录功能,但它返回一个空指针异常.我知道当你在内存中提到一个里面没有任何内容的地方时会发生这种情况,但据我所知,我已经正确地实例化了所有对象 - 如果我错了请纠正我!
我正在尝试实现添加用户功能:我有一个用户名和密码列表,我有一个现有的方法,它读取该文件并将其存储在一个数组中.我想写一个新的登录列表,所以我写了一个新的方法,将这个数组转换为ArrayList,并最终写入一个新的登录,然后再次写入登录文件.问题是我得到了空指针异常.
方法1:
public String[] readFile(){
ArrayList<String> dataList = new ArrayList<String>();
String Line;
try {
String line = br.readLine();
do {
dataList.add(Line);
line = br.readLine();
}
while (!line.isEmpty());
br.close ();
}
catch (Exception e) {
e.printStackTrace();
}
String[] dataArr = new String[dataList.size()];
dataArr = dataList.toArray(dataArr);
return dataArr; // Returns an array containing the separate lines of the file
}
Run Code Online (Sandbox Code Playgroud)
方法2:
public void addNewUser (String username, String password){
String[] dataArr = readFile(); // Read in the list of profiles and store it in an array
ArrayList<String> dataAL = new ArrayList<String>(Arrays.asList(dataArr)); // store array of profiles as ArrayList
dataAL.add(username + "\t" + password);
}
Run Code Online (Sandbox Code Playgroud)
Ara*_*ram 24
你可能在这里得到空指针
while (!line.isEmpty());
Run Code Online (Sandbox Code Playgroud)
改为
while(line!=null && !line.isEmpty())
Run Code Online (Sandbox Code Playgroud)
如果你注意了异常的堆栈跟踪,你应该看到引发异常的确切行
| 归档时间: |
|
| 查看次数: |
19910 次 |
| 最近记录: |