从textarea取得一段字符串,写入csv中,格式乱掉?

跳蚤图 PPPP  2012-12-12 01:12:45
从textarea取得一段字符串,但是这个字符串是带格式的,比如,123
456

,而不是 123456.
但是我现在要把这段文本写入csv文件里,
File csvfile = new File("file.csv");
BufferedWriter bufferedWriiter = null;
bufferedWriiter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvfile),"SHIFT-JIS"));
FileOutputStream fout = new FileOutputStream(csvfile);
String id = "id1"
textvalue = "123
456";
fout.write((id + "," + textvalue + "\r\n").getBytes());


我希望csv的格式是:A列显示id,B列显示textvalue

但是如果textvalue带格式的话,有可能123在B列显示,456就跑到下一行的A列里了。
我想要123 456都在B列。

怎么做?
...全文
461 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
torytin 2012-12-18
  1 开头是不留空,以行为单位。   2 可含或不含列名,含列名则居文件第一行。   3 一行数据不垮行,无空行。   4 以半角逗号(即,)作分隔符,列为空也要表达其存在。   5 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。   6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。   7 文件读写时引号,逗号操作规则互逆。   8 内码格式不限,可为 ASCII、Unicode 或者其他。   9 不支持特殊字符 这是百度百科中csv格式的规则,所以你的问题是 第一:需要把换行符替换为空格,不能有换行。 第二:需要在你的字符串前后加上\",以让csv解析为普通字符串,这样内部就可以有, 第三:如果你的字符内容中有",那你应该首先把内部的"号替换为"",然后再在字符串前后加\"。
回复
textarea里有回车符,处理一下回车符号,把回车符号替换成其它的符号,但是不能是逗号
回复
发动态
发帖子
高性能WEB开发
创建于2008-07-01

2.5w+

社区成员

高性能WEB开发
申请成为版主
社区公告
暂无公告