我使用以下代码将文件中的数据插入基于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");
然后如何解决这个问题?
答案 0 :(得分:2)
是的,你已经阅读了这一行(如下所示),你的光标移动到下一行,因此你错过了第一行。
StringTokenizer st1 = new StringTokenizer(br.readLine(), "\t");//think of what if you dont have any line?
当您在文件中有行然后使用它或者您可以重新定义缓冲的阅读器时,您可以在字符串变量中读取它。