我想读取一个文本文件并将一些所需的值存储为 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/