Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Java I/O and File Exceptions: Handling Errors in Streams, Thesis of Java Programming

An overview of java i/o and file exceptions, focusing on the basic i/o-related exception classes such as eofexception, filenotfoundexception, interruptedioexception, and ioexception. It also covers the syntax for handling exceptions in java i/o operations using try-catch blocks. Examples of creating files, reading and writing characters using filereader and filewriter, and copying characters from files.

Typology: Thesis

2016/2017

Uploaded on 11/25/2017

krutarth-ganatra
krutarth-ganatra 🇮🇳

3 documents

1 / 21

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Streams and Input/Output Files
Part 2
Mohammed Husain Bohara
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15

Partial preview of the text

Download Java I/O and File Exceptions: Handling Errors in Streams and more Thesis Java Programming in PDF only on Docsity!

Streams and Input/Output Files

Part 2

Mohammed Husain Bohara

Files and Exceptions

 When creating files and performing I/O

operations on them, the systems generates

errors. The basic I/O related exception classes

are given below:

 EOFException – signals that end of the file is reached unexpectedly during input.  FileNotFoundException – file could not be opened  InterruptedIOException – I/O operations have been interrupted  IOException – signals that I/O exception of some sort has occurred – very general I/O exception.

Example

import java.io.; class CountBytesNew {*

public static void main (String[] args) throws FileNotFoundException, IOException { FileInputStream in; try{ in = new FileInputStream("FileIn.txt"); int total = 0; while (in.read() != -1) total++; System.out.println("Total = " + total); } catch(FileNotFoundException e1) { System.out.println("FileIn.txt does not exist!"); } catch(IOException e2) { System.out.println("Error occured while read file FileIn.txt"); } }}

Creation of Files

 There are 2 ways of initialising file stream objects:  Passing file name directly to the stream constructor  Similar to previous example  Passing File Object:  Create File Object  File inFile = new File( "FileIn.txt");Pass file object while creating stream:try {in = new FileInputStream( inFile );}

 Manipulation operations are same once the

file is opened.

Reader Class Hierarchy

Reader StringReader CharacterArrayReader

PipedReader

BufferedReader FileInputStream InputStreamReader FileterReader

FileReader PushbackReader

Reader - operations

public int read() Reads a character and returns as a integer 0-

public int read(char[] buf, int offset, int count)

Reads and stores the

characters in buf starting at

offset. count is the maximum

read.

public int read(char[] buf) Same as previous offset=

and length=buf.length()

public long skip(long count) Skips count characters.

public boolean() Returns true if the stream is

ready to be read.

public void close() Closes stream

Writer Class Hierarchy

Writer BufferedWriter CharacterArrayWriter

FilterWriter

PrinterWriter PipedWriter OutputStreamWriter StringWriter

FileWriter

Byte Output Streams - operations

public abstract void write(int ch)

Write ch as characters.

public void write(char[] buf, int offset, int count)

Write count characters

starting from offset in buf.

public void write(char[] buf)

Same as previous offset=

and count = buf.length()

public void write(String str, int offset, int count)

Write count characters

starting at offset of str.

public void flush() Flushes the stream.

public void close() Closes stream

FileCopy.java

import java.io.*; public class FileCopy { public static void main (String[] args) { if(args.length != 2) { System.out.println("Error: in sufficient arguments"); System.out.println("Usage - java FileCopy SourceFile DestFile"); System.exit(-1); } try { FileReader srcFile = new FileReader(args[0]); FileWriter destFile = new FileWriter(args[1]); int ch; while((ch=srcFile.read()) != -1) destFile.write(ch); srcFile.close(); destFile.close(); } catch(IOException e) { System.out.println(e); System.exit(-1); } } }

Runs and Outputs

 Source file exists:

 java FileCopy FileIn.txt Fileout.txt

 Source file does not exist:

 java FileCopy abc Fileout.txt java.io.FileNotFoundException: abc (No such file or directory)

 In sufficient arguments passed

 java FileCopy FileIn.txt Error: in sufficient arguments Usage - java FileCopy SourceFile DestFile

Buffered Streams

 Buffered character streams understand

lines of text.

 BufferedWriter has a newLine method

which writes a new line character to the

stream.

 BufferedReader has a readLine method to

read a line of text as a String.

 For complete listing of methods, please

see the Java manual/documentation.

BufferedReader - example

 Use a BufferedReader to read a file one line at a time and print the lines to standard output

import java.io.*; class ReadTextFile { public static void main(String[] args) throws FileNotFoundException, IOException { BufferedReader in; in = new BufferedReader( new FileReader(“Command.txt”)); String line; while (( line = in.readLine()) != null ) { System.out.println(line); } } }

Writing Bytes - Example

public class WriteBytes {

public static void main (String[] args) { byte cities[] = {'M', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '\n', 'S', 'y','d', 'n', 'e', 'y', '\n„ }; FileOutputStream outFile; try{ outFile = new FileOutputStream("City.txt"); outFile.write(cities); outFile.close(); } catch(IOException e) { System.out.println(e); System.exit(-1); } }}

Output