Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何更新csv文件中的现有条目_Java_Csv - Fatal编程技术网

Java 如何更新csv文件中的现有条目

Java 如何更新csv文件中的现有条目,java,csv,Java,Csv,我需要使用java代码更新CSV文件中的现有条目。我写的代码如下。我能够将用户提供的条目与文件中的条目进行匹配,但不知道如何在同一位置写入新条目 while ((row = reader.readNext()) != null) { for (int i = 0; i < 1; i++) { System.out.print("row is "+row[i]); // disp

我需要使用java代码更新CSV文件中的现有条目。我写的代码如下。我能够将用户提供的条目与文件中的条目进行匹配,但不知道如何在同一位置写入新条目

while ((row = reader.readNext()) != null)       
{     
    for (int i = 0; i < 1; i++)                
    {    
        System.out.print("row is "+row[i]);

        // display CSV values                                                
        System.out.println("Cell Value: " + row[i]);  
        System.out.println("User Input: " + t1);
        System.out.println("-------------"); 
        if(t1.equals(row[0]))
        {
            data.add(new String[] { t1, t2, t3, t4, t5, t6, t7, t8, t9, t10,
                     t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22,
                     t23, t24, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35,
                     t36, t37, t38, t39 
            });   
            flag=1;
            writer.writeAll(data);
            break;
        }               
    }
    rowno++;
}
while((row=reader.readNext())!=null)
{     
对于(int i=0;i<1;i++)
{    
系统输出打印(“行为”+行[i]);
//显示CSV值
System.out.println(“单元格值:“+行[i]);
System.out.println(“用户输入:+t1”);
System.out.println(“--------------”;
如果(t1.等于(行[0]))
{
添加(新字符串[]{t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,
t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,
t23、t24、t26、t27、t28、t29、t30、t31、t32、t33、t34、t35、,
t36、t37、t38、t39
});   
flag=1;
writer.writeAll(数据);
打破
}               
}
rowno++;
}

这是将新值写入同一位置所需的操作

  • 有两个文件,一个是要读取的输入文件,另一个是要写入的新文件
  • 在循环中,从文件中读取一行,如果不匹配,则写入输出文件
  • 如果从输入文件中找到,则在输出文件中写入新条目
  • 完成文件循环
  • 关闭溪流
  • 将输出文件的名称更改为输入文件的名称

应该是“有两个文件”,如果我需要继续这样做n次怎么办?您可能需要查看
RandomAccessFile
。它有点复杂,但如果你学会使用它,它对这样的情况会很有帮助。如果我需要继续这样做n次呢?可能是重复的