Java 从CSV文件创建表
我使用以下代码将数据从文件插入到基于Swing的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
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”);现在可以了。谢谢