首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串数组写入文件

将字符串数组写入文件
EN

Stack Overflow用户
提问于 2013-04-04 00:03:42
回答 2查看 87关注 0票数 0

我有一个包含14534个元素的字符串数组(在java中)。当我将它们写入文件(csv)时,文件在13475个元素后停止(在一行中间,但我看不到任何特殊字符)。

我检查了调试器,数组确实被填满了。

我应该使用另一种方法吗?在c++中我可以写二进制,但我不确定如何在java中做到这一点。这会不会是字符串无法正确识别的问题?

代码语言:javascript
运行
复制
FileWriter writer = new FileWriter("out.csv");

for (int i = 0; i < lines; i++){
    for (int j = 0; j < cols; j++){
        // writer.append(""+i);
        // writer.append("-");
        writer.append(""+numbers[j][i]);
        writer.append(';'); 
    }
    writer.append('\n');
}

奇怪的是,如果我添加检查行的代码(在注释中),它会再写12行。

对尝试什么有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-04 00:05:39

你永远不会关闭你的写入器--我怀疑数据只是卡在一个缓冲区里。

添加writer.flush()调用可能会向您显示它--但实际上,您应该使用try-with-resources语句(如果您使用的是Java7),或者使用try/finally语句来始终关闭编写器。

除了确保将所有数据写入文件之外,这还意味着您将释放文件句柄……

票数 3
EN

Stack Overflow用户

发布于 2013-04-04 00:05:28

在检查文件内容之前刷新和/或关闭编写器。不完整的输出很可能是由于缓冲造成的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15792345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档