我正在尝试用java迭代一个txt文件,我有以下代码,首先我毫无问题地读取txt文件,然后我添加我对名为records的列表感兴趣的行,并且该数组正确迭代一会儿。
问题是我收到了这样的内容
TCP 0.0.0.0:135 PCB:0 LISTENING
我想分割此内容并避免尝试之前使用分割和修剪的空白,但我没有正确执行此操作。
有人可以帮助我吗?
String FILENAME = "src/example.txt";
String line = null;
Integer lines=0;
Integer totalLines=countLines(FILENAME);
List<String> records = new ArrayList<String>();
try{
InputStream fis=new FileInputStream(FILENAME);
BufferedReader br=new BufferedReader(new InputStreamReader(fis));
while ((line = br.readLine()) != null)
{
lines++;
if (lines >= 5 && lines <= 180) {
records.add(line);
}
}
br.close();
}
catch(Exception e){
System.err.println("Error: Target File Cannot Be Read");
}
Iterator<String> it = records.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
问候!
最佳答案
方法一
首先用单个空格替换多个空格 -
line = line.replaceAll("\\s+"," ");
然后,按空格分割,
String[] lineTokens = line.split(" ");
方法2
正如 David 所建议的,你也可以这样做 -
String[] lineTokens = line.split("\\s+");
希望这对您有帮助;)
关于java - 如何将字符串的内容拆分为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924862/