How To Use File Input / Output In Addition To Exception Handling
Dec 2, 2014
I am trying to learn how to use file input/output in addition to exception handling... The problem is my textbook wrote this chapter for a version of Java that hasn't come out yet, so everything I do "according to the textbook" doesn't work. any feedback on correcting these exception errors because I am not sure what is causing them or how to fix them.
I was able to have it display the name of the book in the Book.txt file, but when I added the second part if the file doesn't exist, that's when the errors came up and it wouldn't compile.
import java.io.*;
import java.util.*;
public class DisplayBook
{
public static void main(String[] args) {
try {
File book = new File("Book.txt");
FileInputStream in = new FileInputStream(book);
[Code]...
These are the compilation error messages I am receiving: (I have managed to get it down from 7 errors to just 4, but now I'm stuck)
DisplayBook.java:15: error: unreported exception IOException; must be caught or declared to be thrown
while ((letter = in.read()) != -1) //if file exists, displays book title
^
DisplayBook.java:24: error: unreported exception FileNotFoundException; must be caught or declared to be thrown
I know I can calculate the sum of squares as such:
// SumSquares.java: calculate the sum of two squares class SumSquares { static int sumSquares(int a, int B)/>/> { int asquare; int bsquare;
[Code] .....
But how can I modify the code so that it inputs a list of integer values in the range of -100 to 100 from the keyboard and computes the sum of the squares input values. And how would I go about using exception handling to ensure that the input values are in range and are legal integers.
I have written the following code to calculate tax payments based on income and filing status :
import java.util.Scanner; public class computeTax { public static void main(String[] args) { Scanner input = new Scanner(System.in); // prompt for filing status System.out.println("enter '0' for single filer,");
[Code] ....
The while loop initiated on line 21 is there so that in case the wrong input is given at the prompt given in line 24, the program outputs "please type the right answer" with the command on line 254 before looping back to line 24 and prompting the user to enter his status number. The program works as long as the input at line 28 is an integer. Not surprisingly if the erroneous input here is not an integer, the program outputs the following error message :
Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:909) at java.util.Scanner.next(Scanner.java:1530) at java.util.Scanner.nextInt(Scanner.java:2160) at java.util.Scanner.nextInt(Scanner.java:2119) at computeTax.main(computeTax.java:28
To try to solve this I used the Try / Catch technique with the following version of the code :
import java.util.Scanner; public class computeTax { public static void main(String[] args) { Scanner input = new Scanner(System.in); // prompt for filing status System.out.println("enter '0' for single filer,");
I have studied about the hierarchy of exception classes in which Throwable class comes at the top and two of its direct subclasses are Error and Exception..I just want to ask if in some code snippet we throw an instance of Error or its subclass within the try catch block then will that be also called "exception handling" ? I am asking this because Error class is not a child class of Exception therefore cant be said an Exception, therefore handling the same should not be called exception handling
I was giving a quick skim to some tutorials on the internet where I have found the exception that is handled is also declared in the throws clause of the method wrapping the try-catch block. For a code representation consider the following:
public void methodName() throws IOException { try { ... } catch (IOException ex) { .... TODO handle exception }
Well my code is supposed to ask for an input file and then (ex: input.txt), read the input file and create an output.txt file with the anagram for the words in the file. Also it should be displayed on the screen. However my code doesn't display the anagram on screen or the output file!
/* This program will read a file given by the user, read the words within the file and determine anagrams of the given words. If the file that the user inputs is empty, then the program will output "The input file is empty." * The program will read the file line by line, counting the total number of words read. If there are more than 50 words, "There are more than 50 words." * will be printed, and the program will terminate. After each line is read, the words in the line will be separated,punctuation characters will be removed, and upper case characters will be switched to lower case. * If any word is larger than 12 characters, that word will not be considered in the total amount of words in the file and it will not be sorted. * After each word is read, the letters will be sorted and stored into an array containing each * word's 'signature'. After all the words have been read, words will be printed to the output file on the same line based upon their signature. */
public class Anagram { //Creating constants for maximum words in file and maximum chars in word public static final int MAX_CHARS = 12; public static final int MAX_WORDS = 50;
import java.util.*; public class SumOfAllEvens { public static void main (String[] args) { Scanner s = new Scanner (System.in); //for (int i=1; i<4; i++){ int usernumber;
[code]....
I'm supposed to use a for loop that runs until it reaches the number input by the user, but I'm not sure how to tell the program to add the user's number along with all of the even numbers in between the user input and 2.
Is there any connection between packages and exception handling in java. Means is it necessary to create a package before trying exception handling examples?
Is there a special mechanism through which exception can be handled in a constructor?
Suppose while creation of an object there occurred an exception while creating an object, and the object is half constructed. How do we make sure we handle this kind of exceptions in a constructor?
For one of my last labs for the semester, my professor is having the class go back to our very first program and apply some of the exception handling that we just recently learned about. Here's my improved code so far:
Java Code: import java.util.*; import java.lang.*; public class Lab2Part1 { public static void main (String [] args) { Scanner input = new Scanner (System.in);
[code]....
My code compiles fine, but even if I enter an integer or a double, it saves the number as a string, and prints that out as the name. Is there any way to get around this? Or do I need to use something besides a try-catch?
I have been working on a problem dealing with exception handling and text input output for a few days now. The exercise is a two part exercise. The first part of the exercise I have to write a program to display the total salary for assistant professors, associate professors, full professors, and all faculty, respectively, and display the average salary for assistant professors, associate professors, full professors, and all faculty, respectfully using the what is posted on the [URL] .... Each line in the file consists of a faculty member's first name, last name, rank, and salary. The second part of the exercise I have to take my code and change it so that it
-lets the user enter the name of the file to be read, -Uses a try-catch block to handle the FileNotFoundException displaying instead The file already exists.. ... Use a second catch block to ignore any other exception thrown. ... Design your code so that, if the user enters a file that does not exist, the program prompts the user to enter again a file name.
and I need to Note: In order to catch the FileNotFoundException, you need to include import
I know I can calculate the sum of squares as such:
// SumSquares.java: calculate the sum of two squares class SumSquares { static int sumSquares(int a, int B)/>/> { int asquare; int bsquare;
[Code] ....
But how can I modify the code so that it inputs a list of integer values in the range of -100 to 100 from the keyboard and computes the sum of the squares input values. And how would I go about using exception handling to ensure that the input values are in range and are legal integers.
The requirement is to write a rectangle class and a test class, which include try-catch blocks and exception handling. Exceptions, involving try, catch, throw, throws, and finally commands,how to write a code about basic things, but in the test class, it gives me specific width and height so that i dont konw how to write a try-catch blocks an exception handling in this test class.There is my two classes, they are separated.
public class Rectangle { double width ; double height ; Rectangle(){ width = 1; height = 1;
class MultipleReturn { int getInt() { int returnVal = 10; try { String[] students = {"Harry", "Paul"}; //System.out.println(students[5]); //if i remove comment
I am having a lot of trouble with this lab. basically I have to make a text processor to read in code put it into a file and output the contents of the input file in alphabetical order one word per line. I have to reference the string varaibles input_filename and output_filename.
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; import java.io.File; public class TextProcessor {
[Code] ....
these are the guidelines to said lab:
1. In the main method define two Strings called input_filename and output_filename. I will be setting these Strings to my own file names for testing your code, so make sure you get these variable names correct, and that you use them properly in the following steps. 2. Read in the text contents of the file referenced by input_filename. 3. Split the contents of the input text into separate tokens, using whitespace as a delimiter. 4. Lower case the tokens. 5. OPTIONAL: remove punctuation 6. Alphabetize the tokens. 7. Using output_filename, write the alphabetized tokens to an output file, one token per line. 8. Be sure to close file streams - no resource leaks! 9. Use methods to separate functionality in your program where possible
I've got a nasty nullpointer that I have tried to resolve to no avail as of yet. The program should prompt for a listings.txt file and take its info and write to a report file. Here's the stacktrace:
run:
Input file: listings Exception in thread "main" java.lang.NullPointerException at java.io.Writer.<init>(Writer.java:88) at java.io.PrintWriter.<init>(PrintWriter.java:113) at java.io.PrintWriter.<init>(PrintWriter.java:100) at kettask2b.PropertyListingsReport.main(PropertyListingsReport.java:34) Java Result: 1
Some adjustments that I have attempted are:
BufferedWriter pwfo = null; for (int i = 0; i < args.length; i++) { String string = args[i]; pwfo = null;
The basic gist is it's "A program that reads in a text file that uses a specific input format and uses it to produce a formatted report for output."
Specifically :"For this lab you will write a Java program that produces a simple formatted report. The program will prompt the user to enter a file name. This file must contain information in a specific format (detailed below). Each "block" of the file contains information for one player in a competition -- the name of the player followed by a number of different scores that that player achieved. The program should find each player's average score, median score and best and worst scores and display them in a line on the final summary report. The program should also determine which player has the highest average score and which player has the lowest average score."
I get the following errors when I try and compile it:
Enter an input file name: Project11.txt Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException... -1 at java.util.ArrayList.elementData(Unknown Source) at java.util.ArrayList.get(Unknown Source) at Project11.getMedian(Project11.java:68) at Project11.main(Project11.java:27)
I get that the error(s) reside in lines 68 and 27, among problem other areas, but I'm not exactly sure how I can fix them.
Here's my code:
import java.io.*; import java.util.*; public class Project11 { public static void main(String[] args) throws IOException{ Scanner in = new Scanner(System.in); System.out.print("Enter an input file name: "); String input = in.nextLine();
I am facing a problem while executing a task. My task is to make such a code which will search for my source code file (abc.java) in all directories and then displays the code in textarea inside frame and along with that i also have to display the path of the file in text field. I have coded something but i am really not getting anywhere near my task.
I'm writing a program that dynamically updates an xml file as it is being edited. It needs an add function, delete, and save, and so far, I've gotten only the add function working properly. I've got a delete method that works when I run only that method, but not when I run the program as a whole. I don't get any exceptions or errors and I'm trying to edit the file via printwriter. It creates a new temporary file with the new xml with the deleted section and then overwrites the current .xml file. It runs flawlessly when I run only the delete method, but not when I run the program as a whole.
public static void removeFromFile(String file, String lineToRemove) { try { System.out.println("Removing: " + lineToRemove); File inFile = new File(file); if (!inFile.isFile()) { System.out.println("Parameter is not an existing file");
I am trying to write a program that will generate a QR Code from an input text and also display some information about the input/output bits. So far I have created the frame and what to do next. And I'm not sure if I am on the right track since my level of programming is not that great. By the way, I am using zxing libraries from GitHub. I know, there are plenty of generators online for the QR Code, but that is not what I am looking for. As you can see on the attached image, I am more interested in the efficiency of encoding 2D data. Also, I noticed that almost all the online projects regarding 2D codes are for Android. Which is not very useful.
when open file "rahul.txt"so it shows characters which i stored not byte code i want to stored in file byte code. Now i have a problem for file handling it is not store bytes into myfile. it stores character not bytes.
package com.fileh; import java .io.* public class Writedata { public static void main(String args[]) { try{ FileOutputStream fout= new FileOutputStream("rahul.txt"); String s="my name is rahul"; byte[] b =s.getBytes(); fout.write(b); fout.close();
[code]....
and second problem is that when i use FileInputStream to read file rahul.txt so it did not read .
I created a GUI using Java with Buttons, Pictures and labels.When one of the buttons is pressed it increases the price, which can be seen by the labels increasing the necessary amount.What I would like to be able to do in my GUI is allow the user to record details of the sale and be able to display the sales of past customers to date, by this I mean when I click one of the buttons it will record the amount of that item into a file and when I press the another button, not the same button as the items, it will show the user the existing orders that have been taken in the past.
Assume we have 2 files that are input.txt and output.txt Input.txt has Name||Age||email||contact No||Name1||age1||email1||contact No1||name2||Age2||email2||contact no2||etc...
initially the output.txt does not have any record.using a java program we have to make it as
Names in the input file:Name,Name1,Name2,Name3 Ages in the input file:Age,Age1,Age2,Age3 email id in the file: email, email1, email2 Contact no in the file:contact no, contact no1,contact no2
I'm doing this assignment in which i have to write some products in csv file...but as u can see in csv file two products are same "Cooking Oil"..so any method that can add two same product's quantity and their amount and write them in file
import java.util.*; import java.io.*; public class SalesbyTransactionMonth{ private static final String fileName = "Data.txt"; private static final String fileName1 = "sales_by_trans_month.csv"; String line = "";