3 回答

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個贊
您可以使用流:
Files.lines(Paths.get("file.txt")) .map(line -> Arrays.stream(line.split(" ")) .map(Integer::valueOf) .collect(Collectors.toList())) .collect(Collectors.toList())
這將返回List<List<Integer>>
所有元素均為整數(shù)的 a 。如果您只想打印每一行的所有元素,那么您可以將最后一行替換為.forEach(System.out::println)
.

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個贊
試試這個代碼
final String dataFilePath = "C:\\Users\\Desktop\\txt.txt";
ArrayList<String> listOfLines = new ArrayList<>();
List listOfLinesint = new ArrayList<>();
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader(dataFilePath));
String line = reader.readLine();
while (line != null) {
//System.out.println(line);
listOfLinesint.add(line);
line = reader.readLine();
}
reader.close();
System.out.println(listOfLinesint);
} catch (IOException e) {
e.printStackTrace();
}

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個贊
如果您想將文件讀入每行一個數(shù)組中,您可以使用以下代碼:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class ReadIntArrayFromFile {
public static void main(String[] args) throws IOException {
//enter your path to the file here
File file = new File("src/main/java/integer_array_from_file/file.txt");
//read the lines from the file
List<String> lines = Files.readAllLines(file.toPath());
//create a list of arrays (one array per line)
List<int[]> arrayForEachLine = new ArrayList<int[]>(lines.size());
for (String line : lines) {
//create the array from the line (one array for each line)
int[] array = Stream.of(line.split(" ")).mapToInt(Integer::parseInt).toArray();
//add the array to the list
arrayForEachLine.add(array);
}
//print the arrays
arrayForEachLine.stream().map(array -> Arrays.toString(array)).forEach(System.out::println);
}
}
輸出(對于您問題中的示例文件內(nèi)容)是:
[1, 2, 3, 4, 5, 8]
[12, 22, 5, 33, 11, 56]
[5, 2, 3, 45, 89, 45]
添加回答
舉報