在我的代码中,当我想打印出列表时,返回行,我不知道如何摆脱它,例如,如果我的文件包含这些行:
我想不出任何要写的东西
等等等等等等
当我打印出我的清单时,我得到了这个:
{i,不能,想,什么,写,写
等等,等等,等等。
这是我的代码:
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>() ;
try(BufferedReader br = new BufferedReader(new FileReader("test.txt"));){
int i = 0;
String str = " ";
while((i = br.read()) != -1){
str += (char) i;
if( (char) i == ' '){
list.add(str.toString());
str = " " ;
}
}
list.add(str.toString());
}catch (Exception e){
System.out.println("there is an exception ");
}
printArrayList(list);
}
public static void printArrayList(ArrayList<String> list){
System.out.print("{");
for(int i = 0; i<list.size(); i++){
if (i > 0)
System.out.print("," + list.get(i));
else
System.out.print(list.get(i));
}
System.out.print("}");
}
答案 0 :(得分:1)
您是否反对导入图书馆? Apache StringUtils有一个分割空格的方法,返回标记中的所有其他内容。
答案 1 :(得分:0)
这种情况正在发生,因为您只是在找到空格if( (char) i == ' ')
时拆分句子。如果您想将它拆分为新行,请使用
if ( (char) i == ' ' || (char) i == '\n')
注意:\n
不是所有平台中的分隔字符的行。 AFAIK,可以是\n
或\r
或\r\n
中的任何人。