java操作csv文件
用java怎么才能在csv文件指定位置写入新的数据,csv原始数据保留。其实我是需要在csv文件的最后一列的地方增加一列数据,而其他部分数据不需要变化。这个csv文件可能...
用java怎么才能在csv文件指定位置写入新的数据,csv原始数据保留。
其实我是需要在csv文件的最后一列的地方增加一列数据,而其他部分数据不需要变化。这个csv文件可能会比较大,如果全部重新写到另一个文件的话比较费时。
一楼的建议好像不太对,如果用seek(long pos)把指针指向文件最后的话实际上是在原始记录的末行开始添加新行数据,而不是在文件的每一行末列添加一项数据. 展开
其实我是需要在csv文件的最后一列的地方增加一列数据,而其他部分数据不需要变化。这个csv文件可能会比较大,如果全部重新写到另一个文件的话比较费时。
一楼的建议好像不太对,如果用seek(long pos)把指针指向文件最后的话实际上是在原始记录的末行开始添加新行数据,而不是在文件的每一行末列添加一项数据. 展开
3个回答
展开全部
File f = new File(path);
BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));
bw.write(txt);
bw.write("\r\n");
bw.close();
new BufferedWriter(new FileWriter(f, true))
上面中的true是决定文件是追加还是重写.
BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));
bw.write(txt);
bw.write("\r\n");
bw.close();
new BufferedWriter(new FileWriter(f, true))
上面中的true是决定文件是追加还是重写.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cvs格式实际上就是字符串,直接通过英文”,“来进行的间隔显示,所以直接写入的时候直接在流中添加英文标点逗号即可。
实现思路:就是将需要保留的内容写入另外一个cvs文件中在满足条件处进行增加、删除、修改操作。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.cvs”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.cvs”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足cvs行条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
实现思路:就是将需要保留的内容写入另外一个cvs文件中在满足条件处进行增加、删除、修改操作。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
OutputStreamWriter pw = null;//定义一个流
try {
String file = "D:/test/test.xml";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
pw = new OutputStreamWriter(new FileOutputStream(“D:/New.cvs”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.cvs”实例
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(!str.indexOf("<end>")){//判断如果不满足cvs行条件就删除
pw.write(str);//将要写入文件的内容,可以多次write
}
};
bre.close();
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询