java - 从java文件中分割字符串?

标签 java filereader

文件的字符串:

    insert ignominious
    insert elephant
    insert judicious
    insert bastion
    insert fastidious
    insert generous
    insert hilarious
    insert astute
    insert degenerate
    insert courageous
    traverse
    remove judicious
    remove ignominious     

当一行中有两个单词时,我的代码会分割字符串,但是当它进入“遍历”时,它会给出 OutOfBounds 错误,因为它只是一个单词。我不确定您是否需要检查该行上是否只有一个单词以免拆分以及如何执行此操作。

BufferedReader in = new BufferedReader(new FileReader("file.txt"));
String str;

while ((str = in.readLine()) != null) {
    String[] strArr = str.split(" ");
    if(strArr[1]!=null)
        System.out.println(strArr[0] + ", "+strArr[1]);
    else
        System.out.println(strArr[0]);
}
in.close();

最佳答案

正如@markspace所说,你应该只检查数组的长度。

 while ((str = in.readLine()) != null) {
     String[] strArr = str.split(" ");
        if(strArr.length > 1)
             System.out.println(strArr[0] + ", "+strArr[1]);
        else
            System.out.println(strArr[0]);
}

如果只想打印这样的名称,您可以这样做:

while ((str = in.readLine()) != null) {
    String[] strArr = str.split(" ");
    System.out.println(String.join(", ", strArr));
}

关于java - 从java文件中分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52683566/

相关文章:

java - 处理 XML 时出错 'org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment()Lorg/springframework/core/env/Environment;'

java - java 和 azure 流分析之间的区别

java - 在java中读取流文件

javascript - 无法将多个文件上传到云端硬盘

java - JMSTemplate 检查主题是否存在并获取订阅者数量

java - 无法改变背景 Swing 的颜色

javascript - 从 Cordova Capture 获取音频数据的 base64

javascript - 将 promise 结果添加到数组中的项目

java - 尝试连接 MySQL 数据库时 java 中出现 NullPointerException

javascript - Filereader:多个文件输入以只有一张图像作为预览结束