最初に私は初心者で、これが私の最初のJavaプログラムだと言いたいと思います。テキストファイルを読み込んで特定の行を探し、それを文字列変数に保存するプログラムを作りたいと思います。txtファイルの特定のテキストを検索し、それをストリングに保存する
"Dealt to"で始まる行を見つけて、その行でそれ以降のすべてをこのchar '['までコピーして、それを文字列変数に入れます。
それでは、私は、テキストファイルに次の行を持っているとしましょう: は私のニックネーム[テキスト] に配ら私は、テキスト「私のニックネーム」を見つけると私の文字列変数に入れますプログラムを持っていると思います。
私はクラスで作業しようとしていて、セッターとゲッターを練習するだけで、自分のコードがどのように見え、どのように改善して動作させるのか教えてください。
これはMain.javaです:
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException{
HandHistory hh1 = new HandHistory();
String hero1 = null;
hero1 = hh1.getHero();
System.out.println(hero1);
}
}
マイHandHistory.java:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class HandHistory {
private String hero;
public HandHistory(){}
public String getHero() throws IOException {
FileReader in = new FileReader("G:/Java/workspace/HandHistory/src/File.txt");
BufferedReader br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
if (line.contains("Dealt to ")){
hero = line.substring(9,(line.indexOf("["))-1);
}
}
return hero;
}
public void setHero(String hero){
this.hero = hero;
}
}
こんにちはレオネル、リンクありがとうございます! Regexを使う方が良い理由は、それは速いのか他の理由ですか? –
これは一般的に高速です。もう1つの方法は、テキスト内の各文字をループして開始文字列と終了文字列を見つけようとすることです。これはコード化するのが非効率的で難しい(私の意見)。 –