1

我正在尝试读取一个文本文件,该文件具有制表符空间作为分隔符,但其中一些值留空,我如何识别该值在读取文件时留空。请检查我下面的代码

FileReader file = new FileReader(new File("File.dat"));
BufferedReader br = new BufferedReader(file);
String temp = br.readLine(); 
while (temp != null) {
    temp = br.readLine();
    System.out.println(temp);
}

请帮助我指出留空的值。

4

2 回答 2

1

这看起来像一个 CSV 文件,但不是逗号,而是制表符。您可以使用opencsv读取文件。

CSVReader reader = new CSVReader(new FileReader("file.txt"), '\t');
String [] nextLine;
while ((nextLine = reader.readNext()) != null) {
    // nextLine[] is an array of values from the line
    System.out.println(nextLine[0] + nextLine[1] + "etc...");
}

数组中具有空值的列作为空字符串。

或者更简单:

CSVReader reader = new CSVReader(new FileReader("file.txt"), '\t');
List<String[]> all = reader.readAll();
于 2013-09-24T12:45:38.663 回答
0

使用@HunterMcMillen 提示:

FileReader file = new FileReader(new File("File.dat"));
BufferedReader br = new BufferedReader(file);
String temp = br.readLine(); 
while (temp != null) {

    String[] tabSeparatedArray = temp.split("\t")
    foreach(String tabElement : tabSeparatedArray){
        if (tabElement.trim().length <= 0){
            //here the element is blank... do whatever you want!!!!
        }
    }
    System.out.println(temp);
    temp = br.readLine();
}
于 2013-09-24T12:48:23.197 回答