我有一些文本包含一些行。每一行都有一個字。我應該複製文本,然後將其粘貼到Eclipse Console Output窗口,最後將每行存儲在一個數組中。在java中存儲文本行數組
我不知道每個文本有多少行。我怎麼能這樣做?
我知道如果我想存儲一些字符串數組我應該做的像波紋管,但是我不希望用這種方法做:
String[] Lines = {"line1", "line2", ....};
我有一些文本包含一些行。每一行都有一個字。我應該複製文本,然後將其粘貼到Eclipse Console Output窗口,最後將每行存儲在一個數組中。在java中存儲文本行數組
我不知道每個文本有多少行。我怎麼能這樣做?
我知道如果我想存儲一些字符串數組我應該做的像波紋管,但是我不希望用這種方法做:
String[] Lines = {"line1", "line2", ....};
如果你不知道有多少行您將可以使用通用列表。
這會在您爲其添加值時動態調整大小。
您也可以使用數組並自己調整大小,這是ArrayList在幕後執行的操作,它只是增加了代碼的複雜性。
如果您使用的是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);
謝謝,但我不想從.txt文件導入它們,我想將它們粘貼到Eclipse Console Output窗口,然後將其存儲在數組中。 – user3637733
我的代碼也在我的答案中。:) –
在啓動之後,您不能更改數組大小對其進行調整。如果您更改以前的數據將會丟失。您可以使用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
然後用lines.add(string)添加它; – Timo
btw。如果你使用Java7 +,你也可以編寫列表 lines = new ArrayList <>(); –
Timo