I have a file with name numbs.txt
having numbers 3,1,2
seperated by line
.
I want to write a java program to read those numbers and print sum
as 3+1+2=6
.
Asked
Active
Viewed 332 times
1 Answers
0
Because all the duplicate posts for that (the ones with are cites) are a bit old, I would suggest easy way (and more recent) to achieve that :
public static int method1(String path) throws IOException {
int sum = 0;
for (String line : Files.readAllLines(Paths.get(path)))
sum += Integer.parseInt(line);
return sum;
}
public static int method2(String path) throws IOException {
return Files.readAllLines(Paths.get(path)).stream().mapToInt(Integer::parseInt).sum();
}
Files.readAllLines(somePath)
returns a List<String>
so the frst method will iterate with a classic for each loop
, parse to Integer
and sum. The second method will do the same with another syntax, using latest API of Java 8
: Streams
(iterate and do same)
To use :
public static void main(String[] args) throws IOException {
System.out.println(method1("numbs.txt")); // if file is not in same folder
System.out.println(method2("numbs.txt")); //use absolute path: C:\users\...\numbs.txt
}

azro
- 53,056
- 7
- 34
- 70