こんにちはユーザーが終了文字を入力するまで、ユーザー入力をファイルに追加しようとしています。特定のポイントに達しましたが、問題は、終了文字もテキストファイルに追加されることです。以下は問題に関するいくつかのコードです。前もって感謝します。
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter writer = null;
BufferedReader reader = null;
try {
writer = new BufferedWriter(new FileWriter("C:\\Users\\gg\\newfile.txt",true));
Scanner input = new Scanner(System.in);
System.out.println("Enter text to enter file: ");
//String text = input.nextLine();
String text = "";
while(!text.equals("/")){
text = input.nextLine();
writer.write(text);
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
writer.close();
}
}
ファイルへの追加を回避するために、テキストが終了文字と等しいかどうかを確認するif節への呼び出しwriter.write();
とwriter.newLine()
if節で呼び出しをラップできます。
ちなみに、固定文字列をString型の変数と比較する文字列比較は、逆に行う必要があります。固定文字列でequalsを呼び出し、変数をの引数として渡しますequals()
。これは、変数がnullになる可能性があり、NullPointerExceptionがトリガーされるためです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加