問題があります。スペースで区切られた値を含むテキストファイルを読み込もうとしています(CSVに似ています)。JavaのCSVテキストファイルを分割し、クラスの異なるフィールドにデータを入力
私は入力ファイルを取り込むことができますが、分割する方法は分かりませんので、各「値」は別のフィールドに入ります。
以下、私が行ったコードのセクションを見つけてください。
String error = ("Content could not be read. Error loading JFileChooser. Try again.");
String content = null;
JFileChooser chooser = new JFileChooser(); //Displays graphical UI to choose the file
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = chooser.getSelectedFile();
try {
content = new String(Files.readAllBytes(Paths.get(selectedFile.getPath())));
} catch (Exception IOException) {
IOException.printStackTrace();
out.println("Error!");
}
//return values read in from file.
Scanner sc = new Scanner(in);
sc.useDelimiter("[^A-Za-z]+"); //regular expression
//return content for use l8r on in the program...
out.println(content); //test to see if reads in correctly
return content;
} else
return error;
これは、ファイルが含むサンプル入力である:
1 2 50 0ジョージParadise_3
1 3 50 0ジョンSomewhere_4
1 4 50 0ジェーンDevil's_place_3
2 50 60 0 George Paradise_13
2 50 60 0 John Somew here_14
2 60 60 0ジェーンDevil's_place_13
3 10 10 50 0ジョージParadise_23
3 15 20 40 0ジョンSomewhere_24
3 20 30 55 0ジェーンDevil's_place_23
どんな助力でも大歓迎です。
ありがとうございました!
私はあなたの質問を理解しているかわかりません。多分StringTokenizerはあなたを助けることができますか? – marco
1行に1つのレコードがありますか?(CSVのように) –
@MauricePerryはい! 1行に1レコード。質問を修正してファイルのサンプルを追加します。 –