For a project of mine, I’m trying to read a file of Integers and save each line into a file. Each of the files I’m reading have a different amount of lines.
The file would look like
17
72
61
11
63
95
100
Is there a way I can use a loop and save the value in a different variable for each line?
Advertisement
Answer
Create a Collection to capture your values. We can use a List so we maintain the input order.
JavaScript
x
List<Integer> list = new ArrayList<>();
Create a mechanism for reading from the file. A common option is a Scanner. The Scanner is Autoclosable so we’ll put it in a try-with-resources block so we don’t have to close it ourselves.
JavaScript
try (Scanner scanner = new Scanner(new File(fileName))) {
do stuff
}
While the Scanner has values, read a value and add it to the List.
JavaScript
while (scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
In sum…
JavaScript
List<Integer> list = new ArrayList<>();
try (Scanner scanner = new Scanner(yourFileName)) {
while (scanner.hasNextInt()) {
list.add(scanner.nextInt());
}
}