Java OpenCSV写入其他列

Java OpenCSV写入其他列,java,opencsv,Java,Opencsv,我想读取一个CSV文件,并将字符串写入同一CSV文件的下一列 FsmMorphologicalAnalyzer fsm = new FsmMorphologicalAnalyzer(); try{ CSVReader reader = new CSVReader(new FileReader("/Users/asus/Desktop/morfolojik-veri.csv")); CSVWriter writer = ne

我想读取一个CSV文件,并将字符串写入同一CSV文件的下一列

        FsmMorphologicalAnalyzer fsm = new FsmMorphologicalAnalyzer();

        try{
          CSVReader reader = new CSVReader(new FileReader("/Users/asus/Desktop/morfolojik-veri.csv"));
          CSVWriter writer = new CSVWriter(new FileWriter("/Users/asus/Desktop/morfolojik-veri.csv"), '\t');

          String [] nextLine;
          while ((nextLine=reader.readNext()) != null){

              if (nextLine != null) {
                  FsmParseList fsmParseList = fsm.morphologicalAnalysis(nextLine[0]);
                  if (fsmParseList.size() != 0) {
                      FsmParse parse = fsmParseList.getFsmParse(0);
                      String result = parse.root.toString();
                      String temp [] = {result.substring(0, result.indexOf(' '))};
                      writer.writeNext(temp);
                  }
                  else {
                      System.out.println("Nothing");
                  }
              }
          }

        }catch (Exception e){
            System.out.println(e);
        }
但这会在执行时清除所有文件。 它还向我显示一条警告,如下所示:

不推荐使用csvwriter(java.io.Writer,char)

我是否应该将其写入新csv,但我希望将它们并排保存。就像第一列是读的一样,第二列是写的

编辑:在程序启动之前,morfolojik veri看起来像:

但我需要的只是如何在新列中追加内容或写入新的csv文件

        FsmMorphologicalAnalyzer fsm = new FsmMorphologicalAnalyzer();

        try{
          CSVReader reader = new CSVReader(new FileReader("/Users/asus/Desktop/morfolojik-veri.csv"));
          CSVWriter writer = new CSVWriter(new FileWriter("/Users/asus/Desktop/morfolojik-veri.csv"), '\t');

          String [] nextLine;
          while ((nextLine=reader.readNext()) != null){

              if (nextLine != null) {
                  FsmParseList fsmParseList = fsm.morphologicalAnalysis(nextLine[0]);
                  if (fsmParseList.size() != 0) {
                      FsmParse parse = fsmParseList.getFsmParse(0);
                      String result = parse.root.toString();
                      String temp [] = {result.substring(0, result.indexOf(' '))};
                      writer.writeNext(temp);
                  }
                  else {
                      System.out.println("Nothing");
                  }
              }
          }

        }catch (Exception e){
            System.out.println(e);
        }
(对我的英语感到抱歉)
谢谢。

我经常使用OpenCSV。你所做的不是你要走的路。 只需读取输入文件,同时写入另一个/输出文件

完成后(处理输入文件):
1) 删除旧文件/输入文件(或将其重命名为另一个不冲突的名称)
2) 将新文件/输出文件重命名为旧文件名


这就是最容易做到的方法。

我经常使用OpenCSV。你所做的不是你要走的路。 只需读取输入文件,同时写入另一个/输出文件

完成后(处理输入文件):
1) 删除旧文件/输入文件(或将其重命名为另一个不冲突的名称)
2) 将新文件/输出文件重命名为旧文件名


这就是你最容易做到的方法。

你要实现什么版本?@ΦXocę웃Пepeúpaツ4.6您可以发布部分文件
morfolojik veri.csv
,以显示运行程序前的外观,也可以发布程序完成后的外观。您正在实施什么版本?@ΦXocę웃Пepeúpaツ4.6您可以发布部分文件
morfolojik veri.csv
,以显示运行程序前的外观,也可以发布程序完成后的外观。