仅移除某些地方而不是任何地方

时间:2011-05-27 01:52:44

标签: java printing line spaces fileinputstream

我从txt文件中获取txt并尝试将其存储在arraylist中。在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);    
}

1 个答案:

答案 0 :(得分: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]);您需要将你的一组标记连接成每行的s。