Skip to Main Content

New to Java

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

how to open the file writer for next entry after stream is close?

807601Feb 18 2008 — edited Feb 18 2008
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class TryOut {
	public static void main(String args[]) throws IOException{
		
		int inputQuestionnAireNum = 0;
		int inputPostCode = 0;
		int inputGender = 0;
		int inputAge = 0;
		int x=0;
		
		Scanner input = new Scanner(System.in);
		FileWriter fwrite = new FileWriter("tryout.txt", true);
		BufferedWriter out = new BufferedWriter(fwrite);
			
		boolean invalidNum = false; 		
		
		do{
			System.out.print("1 new entry or 0 print"); 
			x = Integer.parseInt(input.nextLine());   
				
			if(x == 1)
				   
			   //Questionnaire Number 
			
				System.out.print("Enter Questionnaire Number [ ] "); 
				inputQuestionnAireNum = Integer.parseInt(input.nextLine());
				out.write("NumBER OF Q: "+inputQuestionnAireNum+", ");
						
				//Postal code 
				System.out.print("Enter Postal Code [ ] ");	
				inputPostCode = Integer.parseInt(input.nextLine());
				out.write("PostCode: "+inputPostCode+", ");
				
				//Age 
				System.out.print("Enter Age [ ] "); 
				inputAge = Integer.parseInt(input.nextLine());
				out.write("Age: "+inputAge+", ");
				
				//Gender 
				System.out.print("Enter Gender '1' for Male and '2' for for female [ ] "); 
				inputGender = Integer.parseInt(input.nextLine());
				out.write("Gender: "+inputGender+", \n");
				
				out.close();		
							 										
			   	} while(x != 0);
			   		     
			 }
	
		
}
	
	

	
Result:

1 new entry or 0 print1
Enter Questionnaire Number [ ] 2
Enter Postal Code [ ] 1
Enter Age [ ] 3
Enter Gender '1' for Male and '2' for for female [ ] 4
1 new entry or 0 print1
Enter Questionnaire Number [ ] 2
Exception in thread "main" java.io.IOException: Stream closed
at java.io.BufferedWriter.ensureOpen(BufferedWriter.java:98)
at java.io.BufferedWriter.write(BufferedWriter.java:203)
at java.io.Writer.write(Writer.java:126)
at TryOut.main(TryOut.java:31)



Hi, how can i open the file writer stream again for next entry after it is has been closed? if i do not close(); all my entry will not be recorded to the text file. how can i solve this ?

Edited by: metaroot on Feb 18, 2008 6:39 PM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 17 2008
Added on Feb 18 2008
4 comments
2,073 views