私のコードの目的は、Scanner
を使ってテキストファイルを読んだ後に、テキストフィールドでユーザーの入力を受け入れることです。スキャナを使用してテキストファイルの単語を置き換えるにはどうすればよいですか?
スキャナは、テキストファイル内を繰り返してそのユーザー入力のインスタンスを見つけようとします。その入力が見つかると、テキストファイル内の単語を置き換えます。
次に、その単語に変更を加えてファイルに書き戻します。
私の問題は、スキャナを使用する前にスキャナを使用していないことです。正しく処理する方法がわかりません。ここで
は私のコードは、ボタンをクリックするだけで活性化するこれまでのところです:
Scanner read = new Scanner("test test.txt");
//Converting user input from editSerialField to a scanner
Scanner scEditSerial = new Scanner(editSerialField.getText());
String scSerial = scEditSerial.nextLine();
//Converting user input from editLocationField to a scanner
Scanner scEditLocation = new Scanner(editLocationField.getText());
String scLocation = scEditSerial.nextLine();
while (read.hasNextLine())
{
//If my text file contains the user input from the text field
if (read.hasNext(scSerial))
{
//Code to replace instance of editSerialField in text file
}
//Code to write back to the file
}
は、どのように私は、テキストファイル内の単語を置き換えるためにScanner
を使用していますか?そうするために別のクラスを使用するのですか?
私のコードをどのように進めるかについては固執していますので、どんな助けでも大歓迎です。
だから、「* Scanner」を使ってファイルを読みたいのですか?どのようにファイルを書きたいのですか? 'FileWriter'の周りの' PrintWriter'ですか?もしそうなら、なぜ 'FileReader'の周りに' BufferedReader'を使って読むのでしょうか? --- *参考:*あなたがしているのはフルラインを読むことだけで、 'BufferedReader'は' Scanner'より** **倍速くらいです。これは本当にslooowwwwww *です。 – Andreas
ファイルのすべての行を読み込み、テキストファイル内のユーザー入力のインスタンスを別のユーザー入力に置き換えたいとします。私は、スキャナを使用して行をスキャンして単語を置き換える最良の方法であると言われました。私は 'Scanner'を使って単語を置き換える方法が不明です。私はJavaを使い慣れていないので、他のどのクラスを使うのか分かりません。 – juiceb0xk
'Scanner'を使って単語*を置き換えることはできません。 'Scanner 'は*読み*(別名スキャン)入力に使用されます。あなたは正規表現についてまだ学んでいないと思うので、おそらく 'indexOf()'と 'substring()'はおそらく文字列中のテキストを置き換えるために使用するはずのメソッドです。 – Andreas