テキストファイルから整数入力を渡すためのJavaコードを作成しました。たとえば1 10 39 59 20 60 38
、空のスペースがある場合は文字列を分割する必要があります。
入力は1行で与えられますinput.txt
私のコードは次のとおりです。
public void reduce(Text key, Iterator<IntWritable> values,
OutputCollector<Text, IntWritable> output, Reporter reporter)
throws IOException {
String calc;
calc = key.toString();
ArrayList<Integer> keys = new ArrayList<Integer>();
String[] data = calc.split(" ");
for (String s : data) {
int intData = Integer.parseInt(s);
keys.add(intData);
}
int val = 0;
for (int a : keys) {
// some tasks
}
}
行を分割した後、分離した値をさまざまなタスクに使用します。私の質問は、同じファイルにあるすべての値(値も異なる行にある)を分割して配列に格納する方法です。
以下がinput.txtで指定された入力である場合、すべての値を分割して配列に格納する方法を教えてください。
入力例:
1 4 92 58 30 82
49 50 38 30 29 20
...
期待される出力:
array1="1,4,92,58,30,82,49,50,38,30,29,20, .."
上記の入力にコードを使用すると、入力ファイルの最後の行のみが考慮され、前の行はすべて無視されます。