[英]How to read integers to array from file
所以,基本上我想学习如何使用方法从文件整数中读取并获取 output - 数组以返回。 有人有建议吗?
static int[] readFromFile() {
int[] data = new int[10];
try {
File myObj = new File("inputFile.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
for(int i = 0; i < data.length; i++)
data[i] = myReader.nextInt();
System.out.println(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println(" .");
e.printStackTrace();
}
return data;
}
我希望该代码返回 arrays 以及文件中的所有整数
你有几个问题。 一是您不能更改数组的大小。 如果要调整它的大小,则必须重新分配一个新数组并进行复制。 另一个是你有两个循环。 每次调用 while 循环都会覆盖您的 10 元素数组。
因此,让我们尝试改用 ArrayList。 ArrayList 让你动态地把更多的项目放到最后 append。
编辑:你只需要 10 个整数:
static List<Integer> readFromFile() {
List<Integer> data = new ArrayList<>();
try {
File myObj = new File("inputFile.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNext() && data.size() < 10) {
data.add(myReader.nextInt());
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println(" .");
e.printStackTrace();
}
return data;
}
最后,如果您真的想返回一个数组而不是列表,则可以对data
使用toArray()
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.