【发布时间】:2015-09-07 08:56:42
【问题描述】:
大家好,我有这个示例文本文件,其中人们的名字被粘在一起,它们之间没有任何空格。我是否可以将其放入缓冲读取器并创建一个 ArrayList 以将值存储在字符串中,然后按名称分隔字符串。
文本文件详情:
charles_luiharry_pinkertonarlene_purcellwayne_casanova
我的代码:
try {
BufferedReader in = new BufferedReader(new FileReader(filename));
String str;
List<String> list = new ArrayList<String>();
while ((str = in.readLine()) != null) {
list.add(str);
}
String[] stringArr = list.toArray(new String[0]);
FileWriter writer = new FileWriter("new_users.txt");
for (String ss : list) {
writer.write(ss);
}
writer.close();
} catch (IOException ioe) {
ioe.printStackTrace();
}
预期输出:
charles_lui
harry_pinkerton
arlene_purcell
wayne_casanova
实际输出:
示例文件的副本。
【问题讨论】:
-
为什么会有所不同?您的输入文件中只有一行。
-
如果没有某种关于一个姓氏在哪里停止而另一个名字从哪里开始的指示,就不可能拆分名字。
-
根据您对已接受答案的评论,这是否只是处理特定于操作系统的换行符的情况?例如。这些名称只是由
\n分隔,但是 Windows(例如记事本)让它看起来像是在一行中?