Update java input/output/exceptions
This commit is contained in:
parent
aeb8c6c24f
commit
8f7143d6b4
5
java/week8/exception-output-file/NamesAndAges.txt
Normal file
5
java/week8/exception-output-file/NamesAndAges.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Lee 18
|
||||
Lua 21
|
||||
Mary Beth 19
|
||||
Stu 33
|
||||
-1
|
4
java/week8/exception-output-file/NamesAndAgesUpdated.txt
Normal file
4
java/week8/exception-output-file/NamesAndAgesUpdated.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Lee 19
|
||||
Lua 22
|
||||
Mary 0
|
||||
Stu 34
|
94
java/week8/exception-output-file/main.java
Normal file
94
java/week8/exception-output-file/main.java
Normal file
@ -0,0 +1,94 @@
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Scanner;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
/*
|
||||
* Same as the input one and the string vs int one, but now writting to a file
|
||||
* instead of the screen.
|
||||
*/
|
||||
|
||||
public class main {
|
||||
|
||||
public static ArrayList<String> getInput(Scanner scnr){
|
||||
|
||||
String s = "";
|
||||
String name;
|
||||
int age;
|
||||
|
||||
ArrayList<String> results = new ArrayList<String>();
|
||||
|
||||
while(true){
|
||||
|
||||
//Get name or exit
|
||||
s = scnr.next();
|
||||
|
||||
if (s.equals("-1")){
|
||||
System.out.println();
|
||||
break;
|
||||
}
|
||||
else{
|
||||
name = s;
|
||||
}
|
||||
|
||||
//Get age
|
||||
|
||||
try{
|
||||
age = scnr.nextInt() +1;
|
||||
}
|
||||
catch(Exception e){
|
||||
System.out.println("Age must be an Integer\n" +
|
||||
"Setting age to 0 ");
|
||||
age = 0;
|
||||
|
||||
}
|
||||
//Finish line
|
||||
scnr.nextLine();
|
||||
|
||||
//Add name plus new age to arr
|
||||
results.add(name + " " + Integer.toString(age));
|
||||
|
||||
System.out.println();
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
FileInputStream fileByteStream = null; // File input stream
|
||||
Scanner inFS = null; // Scanner object
|
||||
|
||||
ArrayList<String> userInputs = new ArrayList<String>();
|
||||
|
||||
//Get input
|
||||
System.out.println("Opening file NamesAndAges.txt.");
|
||||
fileByteStream = new FileInputStream("NamesAndAges.txt");
|
||||
inFS = new Scanner(fileByteStream);
|
||||
|
||||
System.out.println("Reading in file and processing");
|
||||
|
||||
userInputs = getInput(inFS);
|
||||
|
||||
|
||||
System.out.println("Closing scanner and writing out results " +
|
||||
"To NamesAndAgesUpdated.txt");
|
||||
fileByteStream.close();
|
||||
inFS.close();
|
||||
|
||||
//Write to file
|
||||
|
||||
FileOutputStream fileStream = null;
|
||||
PrintWriter outFS = null;
|
||||
|
||||
fileStream = new FileOutputStream("NamesAndAgesUpdated.txt");
|
||||
outFS = new PrintWriter(fileStream);
|
||||
|
||||
for (String S:userInputs){
|
||||
outFS.println(S);
|
||||
}
|
||||
outFS.flush();
|
||||
fileStream.close();
|
||||
outFS.close();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user