[英]Reading integers from a file separated by space in java
包含整數的輸入文件將如下所示:
5 2 3 5
2 4 23 4 5 6 4
因此,我將如何讀取第一行,將其用空格分隔並將這些數字添加到Arraylist1中。 然后讀取第二行,用空格分隔並將數字添加到ArrayList2中,依此類推。 (因此Arraylist1將包含[5,2,3,5]等)
FileInputStream fstream = new FileInputStream("file.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String data;
while ((data = br.readLine()) != null) {
//How can I do what I described above here?
}
家庭作業?
您可以使用此:
String[] tmp = data.split(" "); //Split space
for(String s: tmp)
myArrayList.add(s);
或者,您可以看一下Scanner類。
考慮使用StringTokenizer
一些幫助: 字符串標記器
StringTokenizer st = new StringTokenizer(in, "=;");
while(st.hasMoreTokens()) {
String key = st.nextToken();
String val = st.nextToken();
System.out.println(key + "\t" + val);
}
您可以從data.split("\\\\s+");
獲取標准數組data.split("\\\\s+");
,這將為您提供int []。 您將需要一些額外的東西來將不同的行放入不同的列表中。
在嘗試了HectorLector提供的答案后,它在某些特定情況下不起作用。 所以,這是我的:
String[] tmp = data.split("\\s+");
這使用正則表達式
您需要的是ArrayList of ArrayList
類的東西。 您可以使用data.split("\\\\s+");
Java中的函數,以獲取String數組中一行中的所有元素,然后將這些元素放入ArrayLists的ArrayList的內部ArrayList中。 對於下一行,您可以移動到外部ArrayList的下一個元素,依此類推。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.