在其字段中使用逗号读取csv文件的问题

lee*_*lee 1 java csv

无法在其字段中使用逗号读取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)

Jon*_*eet 7

您提供的代码根本不会真正解析文件.它将它分成几行,但就是这样.

您应该将行解析为值 - 幸运的是,您不需要编写太多代码来自己编写代码.JavaCSV,OpenCSVSuper CSV等库使这一过程变得简单.

因此,在解析之后,您将拥有一组行,每行都将是一组值.您可能希望创建一个类来处理每一行,以便您可以更干净地处理数据.您应该可以在Swing UI中很好地格式化,而不显示"|"之类的内容 价值之间.

这一点很重要,在适当的形式尽可能数据进行工作-所以,当你阅读文件,早,你可以做所有的分析工作(除非你有一个真的没有很好的理由,当然) -这样的休息你的代码可以更清洁.您的UI代码根本不应该关心您从CSV文件加载数据的开始.