使用空格读取以空格分隔的文本文件

时间:2013-09-24 12:34:22

标签: java file-io

我正在尝试读取一个文本文件,其中有一个标签空间作为分隔符但是其中有一些值留空,如何在读取文件时将该值保留为空白。请检查下面的代码

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);
}

请帮我指出留空的值。

2 个答案:

答案 0 :(得分:0)

这看起来像一个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();

答案 1 :(得分: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();
}