スキャナクラスのテキストファイルで特定のテキスト(単語など)を検索できるこのコードを記述しますが、新しいテキスト)を同じ古いテキストの場所に表示します。 インターネットで、(replaceAll(old、new);) のようなreplaceAllメソッドを使用する必要がありますが、スキャナクラスでは機能しません。スキャナクラスのテキストファイルの特定のテキストを変更する
これは私のコードです。古い行を変更せずに新しい行に新しいテキストを書き込むだけです(存在する場合)。
私は(データを取得するために)フォームスキャナをFileReaderに変更する必要がありますか?
File file = new File("C:\\Users....file.txt");
Scanner input = new Scanner(System.in);
System.out.println("Enter the content you want to change:");
String Uinput = input.nextLine();
System.out.println("You want to change it to:");
String Uinput2 = input.nextLine();
Scanner scanner = new Scanner(file).useDelimiter(",");
BufferedWriter writer = new BufferedWriter(new FileWriter(file, true));
while (scanner.hasNextLine()) {
String lineFromFile = scanner.next();
if (lineFromFile.contains(Uinput)) {
lineFromFile = Uinput2;
writer.write(lineFromFile);
writer.close();
System.out.println("changed " + Uinput + " tO " + Uinput2);
break;
}
else if (!lineFromFile.contains(Uinput)){
System.out.println("Don't found " + Uinput);
break;
}
}
1.ファイルの内容(ファイルから読み込み)をすべて取得し、データ構造に格納します。 2コンテンツを変更します。 3変更されたコンテンツをファイルに保存します(ファイルに書き込む)。 – Sedrick
データ構造の意味は?どのように私はこの構造 – khaledgg7
'文字列'または 'リスト'を作成します。この場合、私は 'List 'に向かっています。 –
Sedrick