java - 将大字符串写入文本文件?

标签 java text csv text-files

我的字符串看起来像这样 -

String text = "item1, item2, item3, item4 etc..."

我编写了 java 代码将这些字符串写入文本文件,只需更改扩展名即可将其转换为 csv。逻辑是 - 打印一个字符串,然后移动到新行并打印另一个字符串。

当测试字符串只有 10-20 个项目时,文本文件中的输出是完美的。

但是,我的真实字符串大约有每根 3000 个独特的项目。大约有20,000 个这样的字符串

当我将所有这些字符串写入文本文件时,它会变得困惑。 我看到3000 行而不是 20,000 行

我认为这个问题不需要代码,因为它已经完成并经过测试。 我只需要能够正确格式化我的数据。

对于那些想查看代码的人 -

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


public class Texty {

    public static void main(String[] args) {

        System.out.println("start");

        String str = "";
        String enter = System.getProperty( "line.separator" );

        for(int i = 0; i< 5; i++){
            str = str + i + ",";

        }

            str = str + 5; 
        System.out.println(str);

        FileWriter fw = null;
        File newTextFile = new File("C:\\filez\\output.txt");
        try {
            fw = new FileWriter(newTextFile);
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {

            for(int i = 0; i < 10; i++){

             fw.write(str + enter);

            }

            fw.close();

        } catch (IOException iox) {
            //do stuff with exception
            iox.printStackTrace();
        }

        System.out.println("stop");

    }

}

最佳答案

你说得对,10 列和 3000 列没有区别,只是行更长

此外,10 行和 20,000 行之间没有区别,只是行数更多。

虽然您可以在 Java 中或文件系统上拥有更大的文件,但某些旧版本的 excel 无法加载如此多的列(它的限制为 256 列)或如此大的文件(它的限制为约 1 GB 原始数据)

我会检查另一个程序中的文件是否正确,例如您写的一个,您可能会发现所有数据都在那里。

如果数据不存在,则说明存在错误。Java、Windows 或 Linux 中没有任何限制可以解释您所看到的行为。

关于java - 将大字符串写入文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16602123/

相关文章:

将制表符分隔的数据读入 R

python - 如何将打印语句的输出保存到 CSV 文件?

参数名称 "int g[]"后面的 Java 方括号?

css - 创建新的文本对齐类以分隔帖子和侧边栏文本对齐样式

java - 将图像转换为文本 - Java

android - 没有创建 View 的 Toast 中的粗体或斜体文本?

php - 计算值并从 MySQL 导出到 csv

java - 在 Jetty 关闭期间执行停止线程的方法

java - Sentry Java Slack 通知 - 排除警告

java - 为什么我从这个引用树中得到不同的霍夫曼编码树?