IOSTREAMS questions

66) What is a stream and what are the types of Streams and classes of the Streams?
Ans: A Stream is an abstraction that either produces or consumes information. There are two types of Streams and they are:
Byte Streams: Provide a convenient means for handling input and output of bytes.Character Streams: Provide a convenient means for handling input & output of characters.Byte Streams classes: Are defined by using two abstract classes, namely InputStream and OutputStream.Character Streams classes: Are defined by using two abstract classes, namely Reader and Writer.
67) What is the difference between Reader/Writer and InputStream/Output Stream?
Ans: The Reader/Writer class is character-oriented and the InputStream/OutputStream class is byte-oriented.
68) What is an I/O filter?
Ans: An I/O filter is an object that reads from one stream and writes to another, usually altering the data in some way as it is passed from one stream to another.
69) What is serialization and deserialization?
Ans: Serialization is the process of writing the state of an object to a byte stream.Deserialization is the process of restoring these objects.
18. What will a read() function do?.
A method in Input Stream.It reads a single byte or an array of bytes.Returns no of bytes read or -1 if EOF(End of file)is reached.
54. StringTokenizer provides two constructors - False


33. What value does readLine() return when it has reached the end of a file?
The readLine() method returns null when it has reached the end of a file.
77. What value does read() return when it has reached the end of a file?
The read() method returns -1 when it has reached the end of a file.
94. What is the difference between the Reader/Writer class hierarchy and the
InputStream/OutputStream class hierarchy?
The Reader/Writer class hierarchy is character-oriented, and the InputStream/OutputStream class hierarchy is byte-oriented.
123. What is the purpose of the File class?
The File class is used to create objects that provide access to the files and directories of a local file system.
140. What class allows you to read objects directly from a stream?
The ObjectInputStream class supports the reading of objects from input streams.
152. What an I/O filter?
An I/O filter is an object that reads from one stream and writes to another, usually altering the data in some way as it is passed from one stream to another.
160. What is the difference between the File and RandomAccessFile classes?
The File class encapsulates the files and directories of the local file system. The RandomAccessFile class provides the methods needed to directly access data contained in any part of a file.























Files, Streams, I/O (java.io)


Constructing a Path
On Windows, this example creates the path \blash a\blash b. On Unix, the path would be /a/b.


String path = File.separator +
“a” + File.separator + “b”;


Reading Text from Standard Input
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String str = “”;
while (str != null) {
System.out.print(“> prompt “);
str = in.readLine();
process(str);

}

} catch (IOException e) {

}



Reading Text from a File
try {
BufferedReader in = new BufferedReader(
new FileReader(“infilename”));
String str;
while ((str = in.readLine()) != null) {
process(str);

}

in.close();
} catch (IOException e) {

}



Writing to a File
If the file does not already exist, it is automatically created.
try {
BufferedWriter out = new BufferedWriter(
new FileWriter(“outfilename”));
out.write(“aString”);
out.close();
} catch (IOException e) {

}



Creating a Directory
(new File(“directoryName”)).mkdir();


Appending to a File
try {
BufferedWriter out = new BufferedWriter(
new FileWriter(“filename”, true));
out.write(“aString”);
out.close();
} catch (IOException e) {

}

Deleting a File
(new File(“filename”)).delete();


Deleting a Directory
(new File(“directoryName”)).delete();


Creating a Temporary File
try {
// Create temp file.
File temp = File.createTempFile(
“pattern”, “.suffix”);


// Delete temp file when program exits.
temp.deleteOnExit();


// Write to temp file
BufferedWriter out = new BufferedWriter(
new FileWriter(temp));
out.write(“aString”);
out.close();
} catch (IOException e) {

}



Using a Random Access File
try {
File f = new File(“filename”);
RandomAccessFile raf =
new RandomAccessFile(f, “rw”);


// Read a character.
char ch = raf.readChar();


// Seek to end of file.
raf.seek(f.length());


// Append to the end.
raf.writeChars(“aString”);
raf.close();
} catch (IOException e) {

}

Traversing a Directory
public static void traverse(File f) {
process(f);
if (f.isDirectory()) {
String[] children = f.list();
for (int i=0; itraverse(new File(f, children[i]));
}
}
}

Reading UTF-8 Encoded Data
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(
“infilename”), “UTF8”));
String str = in.readLine();
} catch (UnsupportedEncodingException e) {
} catch (IOException e) {
}

Writing UTF-8 Encoded Data
try {
Writer out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(
“outfilename”), “UTF8”));
out.write(aString);
out.close();
} catch (UnsupportedEncodingException e) {
} catch (IOException e) {
}

Reading ISO Latin-1 Encoded Data
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(new FileInputStream(
“infilename”), “8859_1”));
String str = in.readLine();
} catch (UnsupportedEncodingException e) {
} catch (IOException e) {
}

Writing ISO Latin-1 Encoded Data
try {
Writer out = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(
“outfilename”), “8859_1”));
out.write(aString);
out.close();
} catch (UnsupportedEncodingException e) {
} catch (IOException e) {
}



No comments: