プログラムのログイン機能を実装しようとしていますが、NULLポインタ例外が返されています。私は、あなたが何も持っていないメモリ内の場所を参照すると、これが起こることを理解していますが、私が見る限り、私はすべてのオブジェクトを正しくインスタンス化しています。isEmpty()メソッドを使用しているときにヌルポインタ例外を取得する
ユーザー追加機能を実装しようとしています。ユーザー名とパスワードのリストがあり、そのファイルを読み込んで配列に格納する既存のメソッドがあります。私はリストに新しいログインを書きたいので、この配列をArrayListに変換する新しいメソッドを書いて、最終的に新しいログインを書き込んだり、再度ログインファイルを書き出したりします。問題は、Null Pointer Exceptionを取得していることです。
方法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
}
方法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);
}
をするだけの@ user1058210に説明する場合ので、これは問題を解決します'(bool && bool2)'の式の左辺はfalseで、右辺は評価されません。したがって 'line'が' null'の場合、 '!line.isEmpty()'は実行されません。 – Ozzy
パンゲア!そして、説明のおかげでuser1031312! – user1058210
@ user1058210これが実際にはurの質問に対する答えであればこれを回答として受け入れます –