【发布时间】:2013-04-16 09:28:19
【问题描述】:
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new ByteArrayOutputStream(), encoding));
public void write(final List<Column> columnsList) throws IOException {
String data = null;
int length = columnsList.size();
int writeIndex = 0;
for (Column cd : columnsList) {
data = cd.getData();
writer.write(data);
writer.write(getDelimiter()); // it will return '\t'
}
writer.write("\n");
}
上面的代码并没有将制表符空间放在文件中,实际上它在文件中写入了\t。
当我用硬编码的“\t”写文件时,它确实写了制表符空间。但我收到了来自 web 端的“\t”分隔符。
我只是选择这个分隔符并与作家一起写作。但是当我在记事本中打开文件时,文件中实际上写的是“\t”而不是TAB SPACE
我正在用其他方法关闭作者,所以不用担心关闭作者
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
@AndrewThompson 为什么? \t 不是一个有效的 java 转义序列吗?
-
真的不会这样。我怀疑问题出在您查看文件的方式上,而您没有告诉我们。
-
我尝试了一个简单的代码
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("c:\\ak\\1.txt"))); writer.write("\t"); writer.close();,并在文件中写入tab。 -
@PermGenError 承认。应该只坚持第一条评论。 :P