无法在其字段中使用逗号读取csv文件.当读取csv时,它会生成双引号,当此数据传递到表中时,引号会重新排列不同列中值的位置.我用了"|" 将表格表示为视图但是用逗号分隔.
当它与excel打开时
LD |LA| L| T |A
Car Park Store,| |4a|South Bank Road |
Run Code Online (Sandbox Code Playgroud)
当它用代码打开时
LD |LA| L| T |A
"Car Park Store |" | | 4a |South Bank Road
Run Code Online (Sandbox Code Playgroud)
我们的想法是让它看起来像在excel中一样.
public void readFromFile(){
List<String> output = new ArrayList<String>();
try{
BufferedReader bufferedReader = new BufferedReader(new FileReader(filename));
String line = "";
while ((line = bufferedReader.readLine()) != null){
output.add(line);
}
bufferedReader.close();
} catch(FileNotFoundException fne){
csvReaderErrorMessage += "File '" + filename + "' cannot be found.";
}catch(IOException ioe){
csvReaderErrorMessage += "Problem reading file: '" + filename+"'";
}
csvDataModel.setData(output);
}
Run Code Online (Sandbox Code Playgroud)
您提供的代码根本不会真正解析文件.它将它分成几行,但就是这样.
您应该将行解析为值 - 幸运的是,您不需要编写太多代码来自己编写代码.JavaCSV,OpenCSV和Super CSV等库使这一过程变得简单.
因此,在解析之后,您将拥有一组行,每行都将是一组值.您可能希望创建一个类来处理每一行,以便您可以更干净地处理数据.您应该可以在Swing UI中很好地格式化,而不显示"|"之类的内容 价值之间.
这一点很重要,在适当的形式尽可能数据进行工作-所以,当你阅读文件,早,你可以做所有的分析工作(除非你有一个真的没有很好的理由,当然) -这样的休息你的代码可以更清洁.您的UI代码根本不应该关心您从CSV文件加载数据的开始.
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |