2014-05-14 92 views
0

我有一些文本包含一些行。每一行都有一個字。我應該複製文本,然後將其粘貼到Eclipse Console Output窗口,最後將每行存儲在一個數組中。在java中存儲文本行數組

我不知道每個文本有多少行。我怎麼能這樣做?

我知道如果我想存儲一些字符串數組我應該做的像波紋管,但是我不希望用這種方法做:

String[] Lines = {"line1", "line2", ....}; 

回答

2

如果你不知道有多少行您將可以使用通用列表。

這會在您爲其添加值時動態調整大小。

您也可以使用數組並自己調整大小,這是ArrayList在幕後執行的操作,它只是增加了代碼的複雜性。

+0

然後用lines.add(string)添加它; – Timo

+0

btw。如果你使用Java7 +,你也可以編寫列表 lines = new ArrayList <>(); – Timo

0

如果您使用的是JDK 7+你可以很容易地通過

List<String> list = Files.readAllLines(new File("test.txt").toPath()); 

做到這一點,但如果你仍然想使用數組列表轉換爲數組一樣

​​

或者,如果你沒有一個文件和副本粘貼到控制檯上試試這個

List<String> lines = new ArrayList<String>(); 
Scanner s = new Scanner(System.in); 
while(s.hasNextLine()){ 
    String line = s.nextLine(); 
    if(line.length() > 0) { 
     lines.add(s.nextLine()); 
    } else { 
     break; 
    } 
} 
System.out.println(lines); 
+0

謝謝,但我不想從.txt文件導入它們,我想將它們粘貼到Eclipse Console Output窗口,然後將其存儲在數組中。 – user3637733

+0

我的代碼也在我的答案中。:) –

1

在啓動之後,您不能更改數組大小對其進行調整。如果您更改以前的數據將會丟失。您可以使用ArrayList動態添加項目。例如;

ArrayList<String> list = new ArrayList<>(); 
    //read your file here and print it. After that; 
    list.add(line); // I assumed you get lines to a variable called line