java - FileWriter 未写入其所有内容 - 如何绕过最大值?

标签 java csv io filewriter bufferedwriter

经过大量时间研究这个问题,并自己做了一些计数/调试,我发现 FileWriter 一次可以包含的最大字符数约为 1216。任何人都可以帮我弄清楚如何解决这个问题?

我本质上是用 Java 编写一个脚本来合并两个 .csv 文件,因为我需要将每个文件的内容并排放在一个 .csv 文件中。我正在迭代字符以及逗号和换行符并将其附加到文件编写器。然而,在写作过程中,我的所有输出都停止了大约 80%。我没有收到任何错误,但现在对我来说很明显这是 FileWriter 容量的问题。

如果我写下已有的内容,然后开始附加到新的 FileWriter,我将失去在 .csv 文件中的位置。我不太确定在这里做什么。

我期待反馈。谢谢!!

编辑 - 代码

问题出在 mergedWriter 上。

我已经验证“mainLines[j].size() - 1”的长度是 101,并且它只为我的输出写入 85 行。它停在弦中间。

for (int k = 0; k < mainLines[j].size() - 1; k++) {
                // All deletions for bottleneck
                if (k != 0) {
                    eachEffWriter.append(mergedFileNum + COMMA + "1," + mainLines[j].get(k)[6] + NEWLINE);
                    efficiencyWriter.append(mergedFileNum + COMMA + "1," + mainLines[j].get(k)[5] + NEWLINE);
                }
                // Write deletionoutput data
                StringBuilder builder = new StringBuilder();
                for (String str : mainLines[j].get(k)) {
                    builder.append(str);
                    builder.append(COMMA);
                }
                builder.append(COMMA);
                if (k == 0) {
                    builder.append(COMMA);
                }

                for (String str : kingpinLines[j].get(k)) {
                    builder.append(str);
                    builder.append(COMMA);
                }
                mergedWriter.append(builder.toString());
                mergedWriter.append(NEWLINE);
            }

最佳答案

已解决。

在将编写器重新实例化到新文件之前,我没有刷新/关闭它。我应该创建一个 mergedWriters 数组,或者每次在重新分配它之前刷新/关闭它。

关于java - FileWriter 未写入其所有内容 - 如何绕过最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33466688/

相关文章:

python - 过滤掉另一列字符串的某一行中包含字符串字段的行

python - 更有效地重新格式化具有不等量空格的文本文件,然后转换为 csv

java - 如何根据GZIP的压缩字节数组得到原数组的长度?

c++ - C++ 二进制文件读取性能

java - 更改应用程序打开动画

java - java中使用hashmap或数组列表的交集

java - 独立 java 与 tomcat 服务器的日期差异

java - 具有 GenericType 的 RESTful Web 服务

c# - 为什么 Response.Write() 不会将 CSV 文件导出到浏览器?

关闭/清理 "mixed"文件描述符/套接字