java - 如何将字符串的内容拆分为列表

标签 java

我正在尝试用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/

相关文章:

java - 设置透明 JFrame 中组件的可见性

java - 无法使用 Jackson 解析 JSON(映射不起作用)

java - JAVA中如何去除字符串中的转义字符

Java Spring : benefits of POJO objects

java - 在ubuntu中从jar文件启动tomcat

java - 没有带有@Deprecated 注释的编译警告?

Java 扫描器循环?

java - 读取(字节[] b,int关闭,int len): Reading A File To Its End

java - 具有参数 PersistentEntityResourceAssembler 的 RestController 的 JUnit

java - 在 Android 时钟中移动分针