2013-05-17 47 views
0

我有一个字符串看起来像这样 -将大字符串写入文本文件?

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

我做了Java代码来写这些字符串将通过简单地更改扩展名被转换为CSV文本文件。逻辑是 - 打印一个字符串,然后移动到新行并打印另一个字符串。

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

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

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

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

对于那些谁希望看到的代码 -

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"); 

    } 

} 
+3

如果您发布了用于编写文本文件的代码,将会有帮助... – drewmoore

+2

您可以发布一段代码吗?如果我们不知道问题出在哪里,我们无法帮助您 – Barranka

+0

@drewmore - 添加了代码。 –

回答

3

你是正确的,有10列,3000列之间没有什么区别,你就必须再行

也有什么区别10行和20000行,你会有更多的线条。

虽然在Java或文件系统中可以有很多大得多的文件,但某些旧版本的excel无法加载那么多的列(它有256列的限制)或者这样的大文件(它有一个限制约1 GB的原始数据)

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

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

+0

我犯了一些蹩脚的错误。 :(电脑是正确的,我错了...像往常一样。 –

+3

“计算机专家”的一个定义 - “以前犯过所有错误的人”。你如何看待我认为问题不是你认为这是 ;) –