0

txtファイルからtxtを取り込んで、それを配列リストに保存しようとしています。txtファイルでは、投票用紙が一緒になっていないことを意味し、代わりに教師が別の行に投票用紙を配置しました。したがって、すべての投票用紙をまとめる必要がありますが、下の例のように、彼女が最初の投票用紙をラインに配置したので、すべての投票用紙をまとめることはできません。そして、残りを一緒に作成する必要があります。fileinputstreamを使用して、テキストファイルからtxtを収集しています。

テキストは次のようになります:

person 1 
person 2 
person 3
<b> 1 2 3 
<b> 
1
3
2

こんな感じにしたい

person 1
person 2 
person 3
<b> 1 2 3 
<b> 1 3 2 
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter file name: ");
Scanner keyboard = new Scanner(System.in);
String fileName = keyboard.next();
File file = new File(fileName);
ArrayList<String> ballot;
 ballot = new ArrayList<String>();  
FileInputStream fstream = new FileInputStream(fileName);
DataInputStream ds = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(ds));
// Pattern p;
// Matcher m;
String strLine;
String inputText = "";
String newline = System.getProperty("line.separator");
while ((strLine = br.readLine()) != null) {
    ballot.add(strLine);    
}
4

1 に答える 1

0

を使用する必要がありますStringBuilder sb = new StringBuilder();。トークンを取得するたびにString t、 を呼び出しますsb.append(t.trim()).append(' ');。ファイルの解析が完了したら、 を呼び出しますsb.toString();。あちこちに改行を追加したい場合は、sb.append('\n');.

トークンの配列が必要な場合はArrayList<String> al = new ArrayList<String>;、行を作成するトークンのセットがあるたびに使用する必要があります。al.add(s);完了したら、呼び出しString[] result = al.toArray(new String[al.length]);ますトークンのセットを各行の に連結する必要があります。

于 2011-05-27T02:40:19.837 に答える