用java怎么才能在csv文件指定位置写入新的数据,csv原始数据保留。
1个回答
展开全部
so easy
public static void addCloumn(List<String> pList, String filePath) throws IOException{
BufferedReader bufReader = new BufferedReader(new FileReader(filePath));
String lineStr = "";
int rowNumber = 0;
StringBuffer nContent = new StringBuffer();
while((lineStr = bufReader.readLine()) != null){
String addValue = "";
if(rowNumber < pList.size()){
addValue = pList.get(rowNumber);
}
if(lineStr.endsWith(",")){
nContent.append(lineStr).append("\""+addValue+"\"");
}else{
nContent.append(lineStr).append(",\""+addValue+"\"");
}
rowNumber++;
nContent.append("\r\n");
}
bufReader.close();
FileOutputStream fileOs = new FileOutputStream(new File(filePath), false);
fileOs.write(nContent.toString().getBytes());
fileOs.close();
}
是不是很简单啊
public static void addCloumn(List<String> pList, String filePath) throws IOException{
BufferedReader bufReader = new BufferedReader(new FileReader(filePath));
String lineStr = "";
int rowNumber = 0;
StringBuffer nContent = new StringBuffer();
while((lineStr = bufReader.readLine()) != null){
String addValue = "";
if(rowNumber < pList.size()){
addValue = pList.get(rowNumber);
}
if(lineStr.endsWith(",")){
nContent.append(lineStr).append("\""+addValue+"\"");
}else{
nContent.append(lineStr).append(",\""+addValue+"\"");
}
rowNumber++;
nContent.append("\r\n");
}
bufReader.close();
FileOutputStream fileOs = new FileOutputStream(new File(filePath), false);
fileOs.write(nContent.toString().getBytes());
fileOs.close();
}
是不是很简单啊
追问
Thnaks. 但是我用同一个文件,即reader和writer的filePath相同时,文件内容并没有被改变,当我把ouput的filePath改为不同的时候,是OK的。
对于csv文件用CSVReader和CSVWriter是比较好用的
追答
不是吧,我试过,会改变呀!CSVReader/CSVWriter 呵呵,这个我没用过。弄好了就行
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询