很像这个问题,我正在尝试更新一个TableView
in JavaFX
。我采用了解决方案,使用DataFX
.
我的代码:
File file = new File(path);
if(file.exists() && file.canRead()) {
DataSourceReader dsr1 = new FileSource(file);
String[] columnsArray = {"firstName", "lastName"};
CSVDataSource ds1 = new CSVDataSource(dsr1, columnsArray);
System.out.println("CSV : " + ds1.getData().size()); // outputs 0
//Below is commented out since I don't have data : source of the error
//tblAthleteList.setItems(ds1.getData());
//tblAthleteList.getColumns().addAll(ds1.getColumns());
}
这是我的测试.csv
文件的视图:
firstName, lastName
first, last
test, tester
我正在使用JavaFX 2
和DataFX 1.0
构建e(fx)clipse
编辑
稍微更改了代码以使用FileSource(File f)
构造函数来查看这是否会改变任何内容。原来我正在尝试从 CSVDataSource 打印一些东西,但我总是得到一个NullPointerException
. 因此假设CSVDataSource
没有得到任何数据。从示例中我可以发现这是正确完成的。我可以使用简单BufferedReader
的循环读取文件。
编辑 2
编辑了问题...我现在指定错误在于没有数据被CSVDataSource
从.csv
文件中提取。该行ds1.getData().size()
返回0
。发布了一个.csv
我正在使用的非常简单的文件。 EOL
由CR
+LF
和编辑组成Notepad++
(没有Excel
多余的字符)。