Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从CSV文件创建表_Java_Parsing_Csv_Io_Bufferedreader - Fatal编程技术网

Java 从CSV文件创建表

Java 从CSV文件创建表,java,parsing,csv,io,bufferedreader,Java,Parsing,Csv,Io,Bufferedreader,我使用以下代码将数据从文件插入到基于Swing的JTable String line; data = new Vector(); columns = new Vector(); try { FileInputStream fis = new FileInputStream("D:\\abc00"); BufferedReader br = new BufferedReader(new InputStreamReader(fis)); StringTokenizer st1

我使用以下代码将数据从文件插入到基于Swing的
JTable

String line;
data = new Vector();
columns = new Vector();
try {
    FileInputStream fis = new FileInputStream("D:\\abc00");
    BufferedReader br = new BufferedReader(new InputStreamReader(fis));
    StringTokenizer st1 = new StringTokenizer(br.readLine(), "\t");
    while (st1.hasMoreTokens())
            columns.addElement(st1.nextToken());
    while ((line = br.readLine()) != null) {
            StringTokenizer st2 = new StringTokenizer(line, "\t");
            while (st2.hasMoreTokens())
                    data.addElement(st2.nextToken());
    }
    br.close();
} catch (Exception e) {
        e.printStackTrace();
}
它正确地形成了表格,但每次都忽略了文件的第一行,即,如果文件有5行,那么表格包含4行。是因为这条线吗

StringTokenizer st1 = new StringTokenizer(br.readLine(), "\t");

那么如何解决这个问题呢?

是的,您已经阅读了该行(如下所示),并且光标移动到下一行,因此您错过了第一行

StringTokenizer st1 = new StringTokenizer(br.readLine(), "\t");//think of what if you dont have any line?
当文件中有行时,您可以在字符串变量中读取它,然后使用它,或者您可以重新定义缓冲读取器。

我添加了StringTokenizer st1=new StringTokenizer(“ab”,“t”);现在可以了。谢谢