ファイルから特定の行を削除しようとしています。しかし、私はテキストファイルから特定の行を削除する際に問題があります。さんが言ってみましょう、私は次のファイルにブルーベリーを削除する私のテキストファイル:特定の行をテキストファイルから削除する
旧リストのテキストファイル:
Chocolate
Strawberry
Blueberry
Mango
新規一覧をテキストファイル:
Chocolate
Strawberry
Mango
私は私のJavaを実行しようとしました私は削除のために入力し、テキストファイルから行を削除しませんでした。
出力: 削除してください: D ブルーベリー 削除:私は私のテキストファイルを開くとブルーベリー
、それは単語「ブルーベリー」だけでループし続けます。
テキストファイル:
Blueberry
Blueberry
Blueberry
Blueberry
Blueberry
Blueberry
Blueberry
Blueberry
私の質問は、テキストファイルから特定の行を削除する方法ですか?ここで
は私のJavaコードです:
String input="Please delete: ";
System.out.println(input);
try
{
BufferedReader reader = new BufferedReader
(new InputStreamReader (System.in));
line = reader.readLine();
String inFile="list.txt";
String line = "";
while(!line.equals("x"))
{
switch(line)
{
case "d":
line = reader.readLine();
System.out.println("Remove: " + line);
String lineToRemove="";
FileWriter removeLine=new FileWriter(inFile);
BufferedWriter change=new BufferedWriter(removeLine);
PrintWriter replace=new PrintWriter(change);
while (line != null) {
if (!line.trim().equals(lineToRemove))
{
replace.println(line);
replace.flush();
}
}
replace.close();
change.close();
break;
}
System.out.println(input);
line = reader.readLine();
}
}
catch(Exception e){
System.out.println("Error!");
}
あなたは初めての行を読んだだけです。ファイル内の他の行は決して読み取れません。 – MadProgrammer
'lineToRemove'を空白以外の場所に設定する場所は表示されません。ユーザーが入力した行にlineToRemoveを設定する必要があります。 –