首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 高性能WEB开发 >

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

2013-03-04 
从textarea取得一段字符串,写入csv中,格式乱掉?从textarea取得一段字符串,但是这个字符串是带格式的,比如,

从textarea取得一段字符串,写入csv中,格式乱掉?
从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列。

怎么做?

[解决办法]
textarea里有回车符,处理一下回车符号,把回车符号替换成其它的符号,但是不能是逗号
[解决办法]
1 开头是不留空,以行为单位。
  2 可含或不含列名,含列名则居文件第一行。
  3 一行数据不垮行,无空行。
  4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
  5 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。
  6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。
  7 文件读写时引号,逗号操作规则互逆。
  8 内码格式不限,可为 ASCII、Unicode 或者其他。
  9 不支持特殊字符

这是百度百科中csv格式的规则,所以你的问题是
第一:需要把换行符替换为空格,不能有换行。
第二:需要在你的字符串前后加上",以让csv解析为普通字符串,这样内部就可以有,
第三:如果你的字符内容中有",那你应该首先把内部的"号替换为"",然后再在字符串前后加"。

热点排行