2013-05-17 46 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

「計算機專家」的一個定義 - 「以前犯過所有錯誤的人」。你如何看待我認爲問題不是你認爲這是 ;) –