我的字符串看起来像这样 -
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");
}
}
答案 0 :(得分:3)
你是对的,10列和3000列之间没有区别,你只需要更长的行
10行和20,000行之间没有区别,你的juts有更多的行。
虽然你可以在Java或文件系统中拥有更多,更大的文件,但是某些旧版本的excel无法加载这么多列(它有256列的限制)或者这么大的文件(它有一个限制大约1 GB的原始数据)
我会检查另一个程序中的文件是否正确,例如你写的一个,你可能会发现所有的数据都存在。
如果数据不存在,则表示存在错误,Java,Windows或Linux中没有任何限制可以解释您所看到的行为。