java - 如何使用 BufferedReader 的 line.split 方法读取 Java 字符串?

标签 java line bufferedreader split

我想读取一个文本文件并将一些所需的值存储为 java 字符串。

我正在使用 Bufferedreader 来读取和存储值。我插入了一行,其中该行包含:可能的值将是

NAME: lastname, firstname *CONTRACTOR*
NAME:
NAME: Sapi, Raj J.
NAME: Alle Peter, Shortley Swara

从上面我只需要姓氏和名字。有时这个值根本不存在。在这种情况下,我如何验证名称行是否有值?为此,我使用下面的代码抛出空指针异常。

BufferedReader br = new BufferedReader(new InputStreamReader(
            (conn.getInputStream())));
    String line;
    while ((line = br.readLine()) != null) {
        if (line.contains("CNUM")) {
            cnum = line.split(" ")[1];
            // break;
        }
        if (line.contains("NAME")) {
            name = line.split(" ")[2];
        }
    }

最佳答案

你可能想要这样的东西......

    BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));
    String line;
    while ((line = br.readLine()) != null) {
        if (line.contains("CNUM")) {
            cnum = line.split(" ")[1];
            // break;
        }
        if (line.trim().startsWith("NAME:")) {

            line = line.replace("NAME:", "");
            line = line.trim();
            if (line.contains(",")){
                String[] contractorName = line.split(",");
                String lastName = contractorName[0].trim();
                String firstName = contractorName[1].trim();
                // use the last name and first name as you wish here.
            } else {
                // line doesn't contain a first and last name for contractor.  invalid data.
                continue;
            }
        }
    }

关于java - 如何使用 BufferedReader 的 line.split 方法读取 Java 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266739/

相关文章:

java - 当我实例化一个类并将其强制转换为该类正在实现的接口(interface)时,为什么会出现 ClassCastException?

java - 传递字节数组出现越界错误,但它通过了 junit 测试

java - For 或 While 循环跳过输入

batch-file - windows批处理文件编程

java - 使用 BufferedReader 读取大型文本文件,打印每一行会减慢该过程的严重程度吗?

java - 程序无法运行(maxMinArray)

c# - 线与 AABB 矩形相交?

bash - 如何在 Bash 中将字符串拆分为多行?

java - 使用 RandomAccessFile.writeBytes() 写入的文件中出现意外的额外字符

Java reader.readLine() 不返回文件中的确切行