Aritalab:Lecture/Programming/Java/FileRead
From Metabolomics.JP
タブ区切りテキストを読み込む
ファイルから1行ずつ読み込んで、タブ区切りの2つ目だけを出力、最後に総数を出力するプログラムです。JavaのStringクラスがもつ split(区切り記号) 関数を使って簡単に記述できます。
public void readFromFile(String filename) { try { String line = null; int counter =0; BufferedReader br = new BufferedReader( new FileReader(filename)); while ((line = br.readLine()) != null) { String[] data = line.split("\t"); /* data is an array of tab-separated strings */ System.out.println( data[1] ); counter++; } System.out.println("Read " + counter + " lines."); } catch (Exception e) { e.printStackTrace(); } }
コンソールから文字列を読み込む
実行するとプロンプト”>”をコンソールに出力し、キーボードから文字列を受け付けます。 Qを入力すると終了し、それまでに入力した行をベクター(配列)にいれて返します。 Syste.in という入力ストリームを BufferedReader に入れるのがミソです。
import java.util.Vector; : public Vector<String> readFromKeyboard() { Vector<String> V = new Vector<String>(); try { BufferedReader br = new BufferedReader (new InputStreamReader(System.in)); String line =null; while (true) { /* Loop until input is 'Q' */ System.out.print(">"); line = br.readLine(); /* Exit from the loop */ if ((line == null) || line.equals("Q")) break; V.add(line); } } catch (Exception e) { e.printStackTrace(); } return V; }