这应该是非常简单的。当我编写代码时,我非常确定它会工作。我想创建一个2维数组的字符串(data [] [])包含data.txt的数据,并且1维数组(kolom [])包含第一行data.txt的列描述。从.txt文件到字符串插入数组的字符串失败
import java.util.*;
import java.io.*;
public class Data {
private String[][] data;
private String[] kolom;
public Data() throws FileNotFoundException {
data = new String[300][4];
kolom = new String[4];
Scanner readLine = new Scanner(new File("data.txt"));
Scanner readText = new Scanner(readLine.nextLine()).useDelimiter(";");
for(String element : kolom)
element = readText.next();
for(String[] row : data) {
readText = new Scanner(readLine.nextLine()).useDelimiter(";");
for(String element : row){
element = readText.next();
}
}
}
public String[] getKolom() {
return kolom;
}
public String[][] getData() {
return data;
}
public static void main (String[] args) throws FileNotFoundException {
Data data = new Data();
for(String element : data.getKolom())
System.out.print(element);
for(String[] row : data.getData())
for(String element : row)
System.out.print(element);
}
}
该程序输出全部空值。这意味着字符串没有插入到数组中。 导致此问题的原因是什么?
- data.txt下面的代码片段(几行301行)。
- data.txt与Data.class文件位于同一个文件夹中。
- 试图将增强型环路更改为正常环路仍然是同样的故障。
- 这个扫描仪的实现有问题吗?
的data.txt
Nama;Tanggal;Email;Negara
Kamal;16/04/15;[email protected];Cook Islands
Melodie;15/12/23;[email protected];Gibraltar
Salvador;15/07/01;[email protected];Lesotho
Garth;14/02/02;[email protected];Namibia
PS: 'kolom' 是 '列',在我的母语
你不觉得迭代缓冲区很奇怪,您应该尝试在扫描程序和while循环中使用'hasNext()'。 – 2015-05-09 06:47:06