文件的字符串:
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));
}