Exception Handling, Java collection 1.

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

Compilers less than Java 7 uses static methods on File to create files and directories. True or false

false. Compilers <Java 7 uses instance methods on File to create files and directories. e.g. File f = new File("C:\\a\\b\\Log.txt"); f.mkdirs(); f..createNewFile();

Console is located in java.lang.console true or false

false. Console is located in java.io.Console

In File class flush() frees up expensive operating system resources. True or false

false. It guarantees last data gets written to disk. close() frees up expensive operating system resources.

Java 7 Compilers use instance methods in Paths to create files and directories. True or false

false. Java 7 Compilers use static methods in Paths to create files and directories.

Path and Paths contain only static methods true or false?

false. Path is an interface.

import java.io.File; import java.io.FileWriter; import java.io. PrintWriter; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); PrintWriter pw = new PrintWriter( fw); pw.println("c"); pw.println("d"); pw.flush(); pw.close(); } } where myFile.txt has two lines contatining "a b" on separate lines. When the above code executes c and d get appended to the file resulting in "a b c d" each on separate lines. True or false

false. a and b get overwritten with c and d therefore output would be: c d

A(n) ____________________ object is an avenue for reading and writing a file.

file channel

the _____ holds the byte number of a location in the file

file pointer (721)

finally block

finally always runs after the try-catch block, regardless of what happens

the _____ is 1 or more statements that are always executed after the try block has executed and after any catch blocks have executed if an exception was thrown

finally block (698) ~the statements in the finally block execute whether an exception occurs or not

the try statement may have an optional _____ clause, which must appear after all of the catch clauses

finally clause (697) ~this is optional

FileWriter - BufferedWriter - PrintWriter all contain two common methods. Named them.

flush() and close() ----> flush(): guarantees that the last of the data gets written to disk. close(): Closes the stream and releases any system resources associated with it.

What method am I? guarantees that the last of the data gets written to disk.

flush() located in FileWriter - BufferedWriter - PrintWriter

catch clause

follows try block. Defines how to handle the exceptions.

This type of loop is ideal in situations where the exact number of iterations is known.

for loop

for loop

for(initialization; condition; iteration) statement; in the most common form of loops is the for loop. initialization sets a loop control variable to an initial value. The conditon is a Boolean expressoin that tests the loop control variable. If true, the for loop continues to iterate. If false, the loop terminates. Iteration - how the loop control variable is changed each time the loop iterates.

General form of the for

for(initialization; condition; iteration) statement; initialization is the assignment of value to a variable. Condtion to check for true or false Iteration - what to do if true

each exception object has a method named _____ that can be used to retrieve the *default error message* for the exception

getMessage (688) ~also used when the exception is not handled & the app halts

>=

greater than or equal to

to ____ an exception, you use a try statement

handle (684)

permanent storage device

hardware used to store files

languages that let you use an easily understood vocabruary of descriptive terms, as as "read," "write," or "add," are known as ________ languages.

high-level language

Throwing exceptions short hand

if (whatever) throw new MaxException("Something went wrong."); Note, you just need to throw an exception object, and that's why there's a new MaxException. You don't really need to assign a var/object to it.

FACT

if a class contains objects of other classes as fields, those classes must implement the *Serializable* interface, in order to be *serialized* (724)

WARNING

if the file that you are opening with the *FileOutputStream* object already exists, it will be erased & an empty file by the same name will be created (713)

FACT

if you do not pass a message to the constructor, the exception will have a *null* message (704)

FACT

if you pass the name of an existing file to the FileOutputStream constructor, it will be erased and a new empty file with the same name will be created (718)

General form of if statement

if(condition) statement;

examples of things stored in binary

images, music, or compiled program files with a .class extension (bytecode)

What do you need to do to use File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter in your code

import java.io.*;

When using the PrintWriter class, which of the following import statements would you write near the top of your program?

import java.io.*;

import ___.___.*; class B { public static void main(String[] args) throws Exception { File a = new File("c:\\a\\f.txt"); FileWriter writer = _______; writer._______("Hello"); writer.________; writer._________; } } Fill in the blanks (Assume the file exists).

import java.io.*; class B { public static void main(String[] args) throws Exception { File a = new File("c:\\a\\f.txt"); FileWriter writer = new FileWriter(a); writer.write("Hello"); writer.flush(); writer.close(); } }

import java.io._____ ; import java.io._____ ; import java.io._____ ; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); _____ i = new _____ (f); _____ j = new _____ (i); System. out. println(j._____ ()); } } Using BufferedReader and FileReader fill in the blanks above to read the first line within the file myFile.txt

import java.io.BufferedReader; import java.io.File; import java.io.FileReader; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); System. out. println(br.readLine()); } }

Create an empty directory using only java.io.File; for C:\\a\\

import java.io.File; class A { public static void main( String [] args) { File f = new File( "C:\\a\\b\\"); f.mkdir(); } }

Check if a file exists using only java.io.File; C:\\a\\b\\log.txt

import java.io.File; class A { public static void main( String [] args) { File f = new File("C:\\a\\b\\log.txt"); System. out. println( f.exists()); } } Will return true if file exists

Create an empty directory using only java.io.File; for "C:\\a\\b\\" folders

import java.io.File; class A { public static void main( String[] args) { File f = new File( "C:\\a\\b\\"); f.mkdirs(); } } Note: The main method does not need to declare that it throws Exception

import java.io._____ ; class A { public static void main(String[] args) throws Exception { _____ dir = new _____ ("C:\\a\\b\\"); dir._____ (); _____ f = new _____ (dir, "MyFile.txt"); _____ . _____ ();} } Fill in the blanks above to create a new file "MyFile.txt" within the newly created directories a\b

import java.io.File; class A { public static void main(String[] args) throws Exception { File dir = new File("C:\\a\\b\\"); dir.mkdirs(); File f = new File(dir, "MyFile.txt"); f. createNewFile();} }

Create an empty file using only java.io.File; for "C:\\a\\b\\Log.txt" folders

import java.io.File; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\b\\Log.txt"); f.createNewFile(); } }

Write code to check if I named MyFile.txt exists within the directory C:\a\b

import java.io.File; class B { public static void main(String[] args) { File f = new File("c:\\a\\b\\MyFile.txt"); System. out. println( f.exists()); } }

import java.io.File; class B { public static void main(String[] args) { File f = new File("____"); System. out. println( _____ ); } } Fill in the code above to check if I named MyFile.txt exists within the directory C:\a\b

import java.io.File; class B { public static void main(String[] args) { File f = new File("c:\\a\\b\\MyFile.txt"); System. out. println( f.exists()); } }

import java.io.____; import java.io._____; import java.io. ____; class A { public static void main( String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); ______ i = new _____(f); _____ j = new _____(i); j.______("Hello2"); j._______("World2"); j.flush(); j.close(); } } Fill-in the above spaces which writes text to the disc (one line at a time)

import java.io.File; import java.io.FileWriter; import java.io. PrintWriter; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter i = new FileWriter(f); PrintWriter j = new PrintWriter(i); j.println("Hello2"); j.println("World2"); j.flush(); j.close(); } }

import java.io._____ ; import java.nio._____ ._____ ; class A { public static void main(String[] args) { File f = new File("C:\\a\\b"); _____ p = f._____ (); System. out. println(p); } } Complete the code above to convert File f into the Path new class.

import java.io.File; import java.nio.file.Path; class A { public static void main(String[] args) { File f = new File("C:\\a\\b"); Path p = f.toPath(); System. out. println(p); } } Used to get Path with compiler less than Java 7

import java.io._____ ; import java.nio._____ ._____ ; class A { public static void main(String[] args) { Path p = Paths.get("C:\\a\\b"); _____ f2 = p._____ (); System. out. println(f2); } } Complete the code above to convert Path p into the old File object.

import java.io.File; import java.nio.file.Path; class A { public static void main(String[] args) { Path p = Paths.get("C:\\a\\b"); File f2 = p.toFile(); System. out. println(f2); } }

import java._____ ._____ ; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get(_____ ._____ ( "file:///C://a//File.txt")); System. out. println(p1); } } Fill in the above blanks to enable the file path to be printed to screen on Windows OS

import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get("file:///C://a//File.txt"); System. out. println(p1); } } This results in C:\a\File.txt getting printed screen

import java._____ ._____ .Files; import java._____ ._____ .Path; import java._____ ._____ ._____ ; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Files.delete(src); } Complete the above code that deletes the file log1.txt

import java.nio.file.Files; import java.nio.file.Path; import java.nio. file.Paths; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Files.delete(src); }

import java._____ ._____ .Files; import java._____ ._____ .Path; import java._____ ._____ ._____ ; class A { public static void main ( String[] args) throws Exception { Path src = _____ ._____ ( "C:\\a\\log1.txt"); _____ des = _____ ._____ ( "C:\\a\\log2.txt"); _____ ._____ (src, des); } } Complete the above code that copies the contents of log1.txt to log2.txt

import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Path des = Paths.get( "C:\\a\\log2.txt"); Files.copy(src, des); } }

import java._____ ._____ .Files; import java._____ ._____ .Path; import java._____ ._____ ._____ ; class A { public static void main ( String[] args) throws Exception { Path src = _____ ._____ ( "C:\\a\\log1.txt"); _____ des = _____ ._____ ( "C:\\a\\log2.txt"); _____ ._____ (src, des); } } Where log2.txt does not exist write code that copies the contents of log1.txt to log2.txt

import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Path des = Paths.get( "C:\\a\\log2.txt"); Files.copy(src, des); } }

Create an empty directory using with java.nio.file; for C:\\a\\b\\

import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main( String [] args) throws Exception { Path p = Paths.get( "C:\\a\\b\\"); Files.createDirectories(p); } } Note: it's best to declare that the main method throws Exception when dealing with files

Create empty file using only java.nio.file; for "C:\\a\\b\\Log.txt" file

import java.nio.file.Files; import java.nio.file.Path; import java. nio. file.Paths; class A { public static void main( String[] args) { Path p = Paths.get("C:\\a\\b\\Log.txt"); Files.createFile(p);} }

Check if a file exists using only java.nio.file; C:\\a\\b\\log.txt

import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p = Paths.get("C:\\a\\b\\log.txt"); System. out. println(Files.exists(p)); } } Will return true if file exists

import java.____.file.____; import java.____.file.____; class A { public static void main(String[] args) { Path p1 = _____ ._____ ( "C:\\a\\b\\File.txt"); System. out. println(_____ ); } } Write the code that builds the past for a file location.

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get( "C:\\a\\b\\File.txt"); System. out. println(p1); } } Note: the file location does not need to exist physically.

All java statements end

in a semicolon

FACT

in many cases, the code in the try block will be capable of throwing more than 1 type of exception (690)

Serializable interface

in order for an obcect to be serialized, its class must implement this interface, which is in the *java.io* package & has no methods or fields (724)

the problem with sequential file access:

in order to read a specific byte from the file, all the bytes that precede it must be read first (718)

FACT

in the try block and the catch block, the braces are required (684)

This type of loop has no way of ending and repeats until the program is interrupted.

infinite

If a loop does not contain within itself a way to terminate, it is called an:

infinite loop

data

information processed or stored by a computer

Exception classes are related by

inheritence

This expression is executed by the for loop only once, regardless of the number of iterations.

initialization expression

Random files are also called ____________________ files.

instant access direct access

Assuming that inputFile references a Scanner object that was used to open a file, which of the following statements will read an int from the file?

int number = inputFile.nextInt();

Can declare multiple variables using the same declaration statement

int var1, var2; // both declared using one statement Separate names b commas

*Error* class

intended to be a *superclass* for exceptions that are thrown when a critical error occurs, such as an internal error in the JVM or running out of memory (683) ~your apps should not try to handle these errors because they are the result of a serious condition

exception handling

intercepting & responding to *exceptions* (682)

examples of permanent storage

internal/external hard disks, disks, USB drives, magnetic reels, cassettes, etc.

Variable

is a named memor ylocation that can be assigned a value. Can be changed during the execution of a program.

A sentinel value _________ and signals that there are no more values to be entered.

is a special value that cannot be mistaken as a member of the list

Checked exeption

is one that must either be caught by a method or be listed in the throws clause of any method that may throw or propagate it

Throwable class

is the parent of both the Error class and the Exception class

What is each repetition of a loop known as?

iteration

catch

keyword for code block with the exception that might occur

try

keyword for code block you want to check

volatile

likely to change in a sudden way, temporary/momentary

java supports three types of comments: _______, and _____, and javadoc

line + block

This is a variable that controls the number of iterations performed by a loop.

loop control variable

the most basic circuitry-level computer language is

machine language

all Java applications must have a method named

main ()

mkdir( )

method creates a directory, returning true on success and false on failure. Failure indicates that the path specified in the File object already exists, or that the directory cannot be created because the entire path does not exist yet.

seek method

method used to move the *file pointer* (721)

the ability to catch multiple types of exceptions with a single catch clause is known as _____ and was introduced in Java 7

multi-catch (701)

throw clause

must be appended to the header of a method definition to formally acknowledge that the method will throw or propagate a particular exception (that is, will not catch it, and will not handle it)

All variables must

must be declared before they are used The type of values the variable can old must also be specified

Java is architecturally

neutral

should you handle unchecked exceptions including *Error* or *RuntimeException*?

no (703)

An instance of a class is a(n)

object

The individual operations used in computer program are often grouped into logical units called _______

object oriented programming

not including polymorphic references, a try statement can have _____ catch clause(s) for each specific type of exception

only 1 (696)

Envisioning program components as objects that are similar to concrete objects in the real world is the hallmark of _________

orientation

the values of an objects attributes are known as its _____

orientation

in order for a catch clause to be able to deal with an exception, its _____ must be of a type that is compatible with the exception type

parameter (684)

arguments to methods always appear within ________

parethesis

Nonvolatile Storage Disk

permanent storage; it is not lost when a computer loses power

when handling exceptions, you can use a(n) _____ reference as a parameter in the catch clause

polymorphic (690)

In the expression number++, the ++ operator is in what mode?

postfix

The do-while loop is this type of loop.

posttest

The for loop is this type of loop.

pretest

The while loop is this type of loop.

pretest

System.out.print("var2 contains var1 / 2: "); System.out.println(var2);

print() displays the string "var2 contains var1 /2:" The next output will start on the same line

Print a blank line

println() with no arguments

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get("Log.txt"); System. out. println(p1.isAbsolute()); }} A.java and Log.txt above are located in C:\a folder. What is the the output when code run?

prints false as Paths.get("Log.txt"); is not an absolute path it is a relative path. The following would return true: Path p1 = Paths.get("C:\\a\\Log.txt"); indicating an absolute path to Log.txt

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get("C:\\a\\Log.txt"); System. out. println( p1.isAbsolute()); }} A.java and Log.txt above are located in C:\a folder. What is the the output when code run?

prints true. Paths.get("C:\\a\\Log.txt"); is an absolute path

list( ) method

provided by File object to list down all the files and directories

public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); BufferedWriter bw = new BufferedWriter(fw); bw.write("a"); bw.write(______.________()); bw.write("b"); bw. flush(); bw.close(); } Fill in the blank above to get in separator on your particular operating system

public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); BufferedWriter bw = new BufferedWriter(fw); bw.write("a"); bw.write(System.lineSeparator()); bw.write("b"); bw.flush(); bw.close(); } The above called with print a and b (on separate lines).

in _____, a program can immediately jump to any location in the file without first reading the preceding bytes

random file access (718)

List one method from FileReader class

read()

List two methods from BufferedReader

read() readLine()

Console contained a method a returns a string containing whatever the user entered. What is the name of this method?

readLine() - Reads a single line of text from the console.

Console input method can be used to not echo password. What is the name of this method?

readPassword() - Reads a password or passphrase from the console with echoing disabled

Boolean readBoolean() [DataInputStream method]

reads a boolean value from the file into returns it (716)

byte readByte() [DataInputStream method]

reads a byte value from the file and returns it (716)

double readDouble() [DataInputStream method]

reads a double value from the file and returns it (716)

float readFloat() [DataInputStream method]

reads a float value from the file and returns it (716)

long readLong() [DataInputStream method]

reads a long value from the file and returns it (716)

short readShort() [DataInputStream method]

reads a short value from the file and returns it (716)

int readInt() [DataInputStream method]

reads an int value from the file and returns it (716)

A(n) ____________________ is a collection of fields that contain data about an entity.

record

unchecked exception

requires no throws clause (Only unchecked exceptions in Java are objects of type RuntimeException or any of its descendants. All others are considered checked.)

the command to execute a compiled java application is _______

run

when the code in a method throws an exception, the normal execution of that method stops & the JVM _____ for a compatible exception handler inside the method

searches (702) ~if there is no code inside the method to handle the exception, then control of the program is passed to the previous method in the call stack [the method that called the offending method] ~if that method cannot handle the exception, then control is passed again, up the *call stack*, to the previous method. ~this continues until control reaches the *main method* ~if the main method does not handle the exception, then the program is halted and the default exception handler handles the exception (702)

when an exception is thrown by code in the try block, the JVM begins _____ the try statement for a catch clause that can handle it

searching (692) ~it searches the catch clauses from top to bottom and passes control of the program to the first catch clause with a parameter that is compatible with the exception

all java programming statements must end with a _______

semi-colom

This is a special value that signals when there are no more items from a list of items to be processed. This value cannot be mistaken as an item from the list.

sentinel

with _____ access, when a file is opened for input, its read position is at the very beginning of the file

sequential access (718) ~this means that the first time data is read from the file, the data will be read from its beginning. ~as the reading continues, the file's read position advances sequentially through the file's contents

Java allows you to _____ objects, which is a simpler way of saving objects to a file

serialize (724)

*IOException*

serves as a superclass for exceptions that are related to input and output operations (683)

*RuntimeException*

serves as a superclass for exceptions that result from programming errors, such as an out-of-bounds array subscript (683)

Error

similar to exception, except that an error generally represents an unrecoverable situation and should not be caught

When you execute Java interpreter, you are

specifiying the name of hte class. It will search for a file by that name with a .class extension then execute the code in the specified class.

System.exit

static method ________ terminates an application.

FACT

storing data in its *binary format* is more efficient than storing it as text because there are fewer conversions to take place (713)

input stream

stream from which we read information

output stream

stream to which we write information

the rules of a programming language constitute it's _________

syntax

Void

tells the computer that main() does not return a value

;

terminates statements Ends a logical entity NOT used to end a block Can write multiple statements on the same line if they're separated with a ; Ex. x=y; y=y+1; System.out.println(x + " " + y); Can also break really long lines up to make them more readable.

FACT

the *FileInputStream constructor* will throw a *FileNotFoundException* if the file named by the string argument cannot be found (715)

FACT

the *FileNotFoundException* is a *checked exception* (703)

NOTE

the *FileOutputStream* constructor throws an *IOException* if an error occurs when it attempts to open the file (713)

which class can you use to sequentially process a binary file?

the *RandomAccessFile class* (719)

FACT

the *RandomAccessFile class* treats a file as a stream of bytes (721) ~tey are numbered, with the first byte being 0 & the last being 1 less than the number of bytes in the file

NOTE

the *exception classes* are in packages in the Java API (683)

You can use this method to determine whether a file exists.

the File class's exists method

NOTE

the Java API documentation lists all of the exceptions that can be thrown from each method (685)

When java source code is compiled, each class is put into its own output file named after

the class using hte .class extension Give java source file the same name as the class the contain so the source file name will match the name of hte .class file.

CONCEPT

the content of a binary file is not formatted as text & not meant to be opened in a text editor (712)

FACT

the default exception handler *prints* an error message & crashes the program (682)

FACT

the key word *throws* is written at the end of the method header, followed by a list of the types of exceptions that the method can *throw* (703)

Name of main class should match

the name of hte file that holds the program. Make sure the capitalization matches as well, it's case sensitive.

Out

the output system stream that is connected to the console

deserialization

the process of reading a serialized object's bytes and constructing an object from them (725)

try block

the program to be executed always If no error is caught, then the program runs normally. If error caught, program jumps to the appropriate catch handler. After error has been handled, code after the try-catch block is run.

Not handling exceptions

the program will run up until the exception, and then it will crash and print out an error message.

FACT

there are many error conditions that can occur while a Java app is running that will cause it to halt execution (681)

FACT

there are some types of data that should be stored only in its raw binary format (713) ~*images, audio, & video* are an example

void writeChar(int c) [DataOutputStream method]

this method accepts an int which is assumed to be a character code. The character it represents is written to the file as a 2-byte Unicode character (714)

*EOFException* object

thrown when an app attempts to read beyond the end of the file (683)

*FileNotFoundException* object

thrown when an app tries to open a file that does not exist (683)

the _____ clause informs the compiler of the exceptions that could get thrown from a method

throws clause (703)

FACT

to meet the needs of a specific class or app, you can create your own exception classes by extending the Exception class or 1 of its subclasses (708)

FACT

to open a binary file for input, you wrap a *DataInputStream object* around a *FileInputStream object* (715)

CONCEPT

to prevent *exceptions* from crashing your program, you must write code that detects and handles them (681)

FACT

to serialize an object and write it to the file, use the *ObjectOutputStream* class's *writeObject* method (725)

FACT

to write *bytes to a file*, use an output stream object, such as *FileOutputStream* (725)

File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter are located in java.io true or false

true

File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter need to have be wrapped in a try/catch block or declare that method throws an Exception. true or false

true

Files and Paths contain only static methods true or false?

true

In File class flush() guarantees last data gets written to disk. close() frees up expensive operating system resources. true or false

true

Path is located in java.nio.file.Path true or false

true

import java.io.File; import java.io.FileWriter; import java.io. PrintWriter; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); PrintWriter pw = new PrintWriter( fw); pw.println("c"); pw.println("d"); pw.flush(); pw.close(); } } where myFile.txt has two lines contatining "a b" (On separate lines). When the above code executes c and d get overwritten resulting in "c d" each on separate lines. True or false

true

BufferedWriter is more efficient than FileWriter true or false

true. BufferedWriter is more efficient FileWriter as FileWriter writes single chars at a time whereas BufferedWriter writes chunks of data to file

Console is located in java.io.Console true or false

true. Console contains methods to access the PHYSICAL DEVICES i.e. keyboard/monitor

Java 7 Compilers use static methods in Paths to create files and directories.

true. e.g. Path p = Paths.get("C:\\a\\b\\Log.txt"); Path p = Paths.get("C:\\a\\b"); Files.createDirectories(p);

a _____ is 1 or more statements that are executed & can potentially throw an exception

try block (684)

try-catch

try {...} catch {...} finally {...} Can have as many catches as I want. Don't have to have finally. Technically, don't have to have a catch if i have a finally. I can't think of a situation where that would be appropriate...

Declare a variable

type var-name Type is the type of variable being declared var-name is the name of the variable

the 2 categories of exceptions include:

unchecked & checked (703)

_____ inherit from the *Error* class or the *RuntimeException* class

unchecked exceptions (703)

FACT

use *OutputInputStream* object along with a *FileInputStream* object (725)

Named computer memory locations are called ________

variables

The value you store in memory is lost when the program ends or the computer loses power. This type of storage device is called ____________________.

volatile

Two Mains Types of Storage Devices

volatile and nonvolatile storage

FACT

when a file is first opened, the *file pointer* is set to 0 (721) ~when an item is read from the file, it is read from the byte that the *file pointer* points to ~Reading also causes the pointer to advance to the byte beyond the item that was read

exception propagation (handling elsewhere)

when an exception is caught and handled at an outer level in the method-calling hierarchy. If an exception is not caught and handled in the method where it occurs, control is immediately returned to the method that invoked the method that produced the exception. If it isn't caught there, control returns tot he method that called it, and so on.

FACT

when an exception is thrown by a method executing under several layers of method calls, it is sometimes helpful to know which methods were responsible for the method being called (699)

FACT

when an exception is thrown, it cannot be ignored, but must be handled by the program or default exception handler (702)

FACT

when an object is serialized, it is converted into a series of bytes that contains the object's data (724) ~if the object is set up properly, even the other objects that it might contain as fields are automatically *serialized*

FACT

when data is stored in a *binary file*, you cannot open the file in a text editor (713)

FACT

when in the same try statement you are handling multiple exceptions & some of the exceptions are related to each other through inheritance, then you should handle the more specialized exception classes before the more general exception classes (697)

when is an *exception thrown*?

when the code does *not handle* an exception (682)

Assume that inputFile references a Scanner object that was used to open a file. Which of the following while loops shows the correct way to read data from the file until the end of the file is reached?

while (inputFile.hasNext()) { ... }

Which of the following are pre-test loops?

while, for

Integer values

whole number values, precede the name of a variable with the keyword int

How far will it propagate?

will be propagated until it is caught and handled or until it is passed out of the main method, which causes the program to terminate and produces an exception message.

the _____ method throws an *IOException* if an error occurs

writeObject method (725)

to write a string to a binary file you should use the *DataOutputStream* class's _____ method

writeUTF method (717) ~this method writes its *String* argument in a format known as *UTF-8 encoding*

void writeUTF(String str) [DataOutputStream method]

writes the String object passed to str to the file using the Unicode Text Format (714)

void writeBoolean(boolean b) [DataOutputStream method]

writes the boolean value passed to b to the file (714)

void writeByte(byte b) [DataOutputStream method]

writes the byte value passed to b to the file (714)

void writeDouble(double d) [DataOutputStream method]

writes the double value to d to the file (714)

void writeFloat(float f) [DataOutputStream method]

writes the float value passed to f to the file (714)

void writeInt(int i) [DataOutputStream method]

writes the int value passed to i to the file (714)

void writeLong(long num) [DataOutputStream method]

writes the long value passed to num to the file (714)

void writeShort(short s) [DataOutputStream method]

writes the short value passed to s to the file (714)

All source code is first

written into plain text files ending in .java. Those source files are then compiled into .class files by javac compiler, this contains bytecodes. The java launcher tool then runs your application with the Java virtual machine.

The if statement

you can selectively execute part of a program through if. if(condition) statement; If true, it's executed If false, it's skipped

FACT

you can think of the code in the try block as being *protected* since the app will not halt if the try block throws an exception (684)

FACT

you can use the *throw* statement to manually throw an exception (704) ~causes the object to be created and thrown

CONCEPT

you can write code that throws 1 of the standard Java exceptions, or an instance of a custom exception class that you have designed (704)

List three constructors with parameters of File class

#1 File(File parent, String child) #2 File(String pathname) #3 File(String parent, String child) - Creates a new File instance from a parent abstract pathname and a child pathname string. File(String pathname) - Creates a new File instance by converting the given pathname string into an abstract pathname. File(String parent, String child) - Creates a new File instance from a parent pathname string and a child pathname string.

Three standard I/O streams

(1) System.in - standard input stream (2) System.out - standard output stream (3) System.err - standard error stream (output for error messages)

if there is no reason to reference the *FileOutputStream object*, these statements can be combined into 1 as follows: [code]

*DataOutputStream outputFile =* -->*new DataOutputStream(new* -->*FileOutputStream("MyInfo.dat"));* (713)

list the classes that inherit from the *IOException* class:

*EOFException* & *FileNotFoundException* (683) ~examples of classes that exception objects are created from

if the *file pointer* refers to a byte number that is beyond the end of the file, a(n) _____ is thrown when a read operation is performed

*EOFException* (721)

just below the *Throwable* class are the classes _____ & _____

*Error* & *Exception* (683)

open a binary file for input [code]

*FileInputStream fstream =* -->*new FileInputStream("MyInfo.dat");* *DataInputStream inputFile =* -->*new DataInputStream(fstream);* (715)

list the exceptions that are instances of classes that inherit from *Exception*

*IOException* & *RuntimeException* (683) ~also serve as superclasses

to write a *serialized object to a file*, use the _____ object

*ObjectOutputStream* output (725)

general format of *RandomAccessFile* class constructor [code]

*RandomAccessFile(String filename, String mode)* (719)

all of the classes in the *exception class hierarchy* inherit from the _____ class

*Throwable* class (683)

the _____ is an internal list of all the methods that are currently executing

*call stack* (699)

catch clause [code]

*catch (ExceptionType ParameterName)* (684) ~(name of exception class.....variable name)

_____ is the process of reconstructing a serialized object

*deserialization* (712)

_____ is the process of converting an object to a series of bytes and saving them to a file

*object serialization* (712)

*throws* [code]

*public void displayFile(String name) throws* *FileNotFoundException* (703) ~if there is more than 1 type of exception, you separate them with commas

_____ is a file that allows a program to read data from any location within the file, or write data to any location within the file

*random access file* (712)

the _____ method returns the deserialized object

*readObject* method (725) ~throws a number of different exceptions if an error occurs

a(n) _____ is a list of all the methods in the *call stack*

*stack trace* (699) ~it indicates the method that was executing when an exception occurred and all of the methods that were called in order to execute that method

*throw statement* [code]

*throw new Exception("Out of fuel");* (704) throw new ExceptionType(MsgString);

general format of a try statement with a finally clause [code]

*try {* -->*try block statements* *} catch (ExceptionType ParameterName) {* -->*catch block statements* *} finally {* -->*finally block statements* *}* (697)

general format of the try statement [code]

*try {* -->*try block statements* *} catch (ExceptionType ParameterName) {* -->*catch block statements* *}* (684)

general format of the *seek method* [code]

*void seek(long position)* (721)

The increment operator is:

++

Stream

- a sequence of data - two kinds of Streams = InPutStream, OutPutStream

OutputStream object's helper methods

- can be used to write to stream or to do other operations on the stream. - public void close() throws IOException{} -protected void finalize()throws IOException {} -public void write(int w)throws IOException{} -public void write(byte[] w)

*FileInputStream*

-class that allows you to *open a file* for reading binary data & establish a connection with it -it provides only the basic functionality for reading bytes from the file (715)

*DataInputStream*

-class that allows you to *read data* of any primitive type, or String objects, from a binary file -the class itself cannot directly access a file -it is used in conjunction with a *FileInputStream object* that has a connection to a file (715)

Typical File Tasks

-determining whether and where a path or file exits -opening a file for use by a program -writing new or revised data created by a program to a file -reading previously stored data into a program to display to a user, to be raised by a user, or to be used as information to perform a tad such as payroll -closing a file -deleting a file

NOTE

-do not confuse the *throw statement* with the *throws clause* -*throw statement*: causes an exception to be thrown -*throws clause*: informs the compiler that a method throws 1 or more exceptions (705)

important points to know about *RandomAccessFile modes*:

-if you open a file in *r mode* & the file does not exist, a *FileNotFoundException* is thrown -if you open a file in *r mode* & try to write to it, an *IOException* is thrown -if you open an existing file in *rw mode*, it will not be deleted. The file's existing contents will be preserved -if you open a file in *rw mode* & the file does not exist, it will be created (719)

char readChar() [DataInputStream method]

-reads a char value from the file and returns it -the character is expected to be stored as a two-byte Unicode character, as written by the DataOutputStream class's writeChar method (716)

String readUTF() [DataInputStream method]

-reads a string from the file and returns it as a String object -the string must have been written with the DataOutputStream class's writeUTF method (716)

*FileOutputStream* class

-this class allows you to *open a file* for writing binary data and establish a connection with it -it provides only basic functionality for writing bytes to the file (713)

*DataOutputStream*

-this class allows you to *write data* of any primitive type or String objects to a binary file -the class by itself cannot directly access a file -it is used with the *FileOutputStream object* that has a connection to a file (713)

FACT

-when the *DataInputStream* class's *readUTF* method reads from the file, it expects the first 2 bytes to contain the number of bytes that the string occupies -then it reads that many bytes and returns them to a String (717)

The terms temporary and permanent refer to ....

... volatility, not length of time.

you save text files containing Java source code using the file extension ______

.java

to *open a binary file for input*, you can use the following classes including:

1. *FileInputStream* 2. *DataInputStream* (715)

to *write data to a binary file* you must create objects from which classes:

1. *FileOutputStream* 2. *DataOutputStream* (713)

How to deal with exceptions

1. Not handle at all 2. Handle it where it occurs 3. Handle at another point in the program

if the code in a method can potentially throw a *checked exception*, then that method must meet 1 of the requirements including:

1. must handle the exception or 2. must have a *throws* clause listed in the method header (703)

Examples of exceptions

1. trying to divide by zero 2. array index out of bounds 3. specified file not found 4. requested IO operation could not be completed normally 5. attempting to follow a null reference 6. attempting to execute an operation that violates some security measure

What will the println statement in the following program segment display? int x = 5; System.out.println(x++);

5

Java keywords

50 words abstract assert boolean break byte case catch char class const continue default do double else enum extends final finally float for goto if implements import instanceof int interface long native short static strictfp super switch synchronized this throw throws transient try void volatile while

What will the println statement in the following program segment display? int x = 5; System.out.println(++x);

6

BufferedInputStream

A BufferedInputStream adds functionality to another input stream-namely, the ability to buffer the input and to support the mark and reset methods.

ByteArrayInputStream

A ByteArrayInputStream contains an internal buffer that contains bytes that may be read from the stream.

Closeable

A Closeable is a source or destination of data that can be closed.

FileInputStream

A FileInputStream obtains input bytes from a file in a file system.

FilterInputStream

A FilterInputStream contains some other input stream, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.

Flushable

A Flushable is a destination of data that can be flushed.

an indication from the operating system when it reaches the end of the stream

A Java program simply receives...

PrintStream

A PrintStream adds functionality to another output stream, namely the ability to print representations of various data values conveniently.

PushbackInputStream

A PushbackInputStream adds functionality to another input stream, namely the ability to "push back" or "unread" one byte.

Readable

A Readable is a source of characters.

SequenceInputStream

A SequenceInputStream represents the logical concatenation of other input streams.

nonzero value

A _____, normally indicates that an error has occurred

SecurityException

A ________ occurs if the user does not have permission to write data to the file.

FileNotFoundException

A _________ occurs if the file does not exist and a new file cannot be created.

file or directory

A ___________'s path specifies its location on disk. The path includes some or all of the directories leading to the ___________.

How do you create a block of code?

A block of code is started with a { and ends with a }

InputStreamReader

A bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset.

LineNumberReader

A buffered character-input stream that keeps track of line numbers.

StringWriter

A character stream that collects its output in a string buffer, which can then be used to construct a string.

StringReader

A character stream whose source is a string.

PushbackReader

A character-stream reader that allows characters to be pushed back into the stream.

Cloneable

A class implements the Cloneable interface to indicate to the Object.clone() method that it is legal for that method to make a field-for-field copy of instances of that class.

ClassLoader

A class loader is an object that is responsible for loading classes.

SecurityManager

A class that allows applications to implement a security policy.

Serializable

A class that implements ObjectOuput (such as ObjectOutputStream) declares this method and ensures that the object being output implements ______

Serializable

A class that implements _______ is tagged as being a ________ object.

Object Class

A class that is automatically inherited when extends is not written from another class. every object directly or indirectly extends from the Object class and inherits Object class's members

Abstract Class

A class that is not instantiated, but other classes extend it. Must be extended. Fundamentally, you can think of an abstract class as an interface with a partial implementation (with the caveat that a class can implement more than one interface, but can only derive from a single abstract class)

DataInputStream

A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way.

DataOutputStream

A data output stream lets an application write primitive Java data types to an output stream in a portable way.

ObjectStreamField

A description of a Serializable field from a Serializable class.

Flushable

A destination of data that can be flushed.

Character.UnicodeBlock

A family of character subsets representing the character blocks in the Unicode specification.

FileOutputStream

A file output stream is an output stream for writing data to a File or to a FileDescriptor.

FileFilter

A filter for abstract path-names.

FileFilter

A filter for abstract pathnames.

Stack Trace

A list of all the methods in the call stack. It indicates the method that was executing when an exception occurred and all of the methods that were called in order to execute that method.

Abstract Method

A method that appears in the superclass, but expects to be overridden in a subclass. -Has only a header and no body Header must end with a semicolon ;

How do you create a multiline comment

A multiline comment begins with /* and ends with */

StringBuilder

A mutable sequence of characters.

PipedInputStream

A piped input stream should be connected to a piped output stream; the piped input stream then provides whatever data bytes are written to the piped output stream.

PipedOutputStream

A piped output stream can be connected to a piped input stream to create a communications pipe.

CharSequence

A readable sequence of char values.

AutoCloseable

A resource that must be closed when it is no longer needed.

Exception Handler

A section of code that gracefully responds to exceptions when they are thrown

Thread

A sequence of execution in a program.

How do you create a single line comment

A single line comment beings with // and ends at the end of the line

Closeable

A source or destination of data that can be closed.

StringBuffer

A thread-safe, mutable sequence of characters.

What is a variable?

A variable is a named memory location. The contents of a variable can be changed during the execution of a program.

In all but rare cases, loops must contain within themselves:

A way to terminate

Name three methods of PrintWriter class

AFP: append(char c) - Appends the specified CHARACTER to this writer. format(String format, Object... args) - Writes a FORMATTED STRING to this writer using the specified format string and arguments. printf(String format, Object... args) - A CONVENIENCE method to write a FORMATTED string to this writer using the specified format string and arguments.

List the six main I/O classes in Java 7 API

Abbreviation: FFFBBP ----> File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter

contains all directories

Absolute Path

Reader

Abstract class for reading character streams.

FilterReader

Abstract class for reading filtered character streams.

FilterWriter

Abstract class for writing filtered character streams.

Writer

Abstract class for writing to character streams.

PushbackInputStream

Adds functionality to another input stream, namely the ability to "push back" or "unread" one byte.

BufferedInputStream

Adds functionality to another input stream-namely, the ability to buffer the input and to support the mark and reset methods.

PrintStream

Adds functionality to another output stream, namely the ability to print representations of various data values conveniently.

deserialized

After a serialized object has been written into a file, it can be read from the file and ________ to recreate the object in memory.

cast to the object's actual type

After an object has been read, its reference can be...

primitive-type

All ________ variables are serializable.

A for loop normally performs which of these steps?

All of the above (initializes a control variable to a starting value, tests the control variable by comparing it to a maximum/minimum value and terminate when the variable reaches that value, & updates the control variable during each iteration)

Inheritance

Allows a new class to extend an existing class. The new class inherits the members of the class it extends and creates an "is a" relationship

Static

Allows main() to be called before an object of the class has been created. This is necessary becasue main() is called by the JVM before any objects are made.

ASCII

American Standard Code for Information Interchange; designed to represent English characters

InputStreamReader

An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters using a specified charset.

ObjectInputStream

An ObjectInputStream deserializes primitive data and objects previously written using an ObjectOutputStream.

ObjectOutputStream

An ObjectOutputStream writes primitive data types and graphs of Java objects to an OutputStream.

OutputStreamWriter

An OutputStreamWriter is a bridge from character streams to byte streams: Characters written to it are encoded into bytes using a specified charset.

ObjectOutputStream

An _________ will not output an object unless it is a Serializable object.

File

An abstract representation of file and directory pathnames.

0

An argument of ___ indicates successful program termination

StackTraceElement

An element in a stack trace, as returned by Throwable.getStackTrace().

Anonymous Inner Class

An inner class defined inside another class that has no name and must implement an interface or extend another class (extends or implements not written). Can only use final variables generic new classOrInterface{ method; } IntCalculator square = new IntCalculator()//obj imp intfc { public int calculate(int number) { return number* number }};

Functional interface

An interface with only one method. Lamba operators are used to create and object that implements the interface and overrides the abstract method. Example: InterfaceName object = x -> x*x where, parameter -> expression

Call Stack

An internal list of all the methods that are currently executing.

Each repetition of a loop is known as what?

An iteration

System.out

An object that encapsulates console output

Appendable

An object to which char sequences and values can be appended.

Exception

An object which is generated in memory as the result of an error of an unexpected event

Finally Block

An optional catch block that is one or more statements that are always executed after the try block has executed and after any catch blocks have executed if an exception was thrown. Executes regardless of whether an exception was thrown.

Void

An uninstantiable placeholder class to hold a reference to the Class object representing the Java keyword that is the name of the class.

transient

Any class that is not Serializable must be declared _______ so it will be ignored during the serialization process

import java.nio.file.*; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Path des = Paths.get( "C:\\a\\log2.txt"); Files.copy(src, des); } } Where log2.txt does exist. The above code will give: a) compiler error b) runtime error c) compile and will copy the contents of log1.txt to log2.txt d) none of the above

B is correct. it will throw a FileAlreadyExistsException log2.txt already exists. It must not exist prior to copy.

if (w < h) { v = w * h w = 0 ]

Block starts at { and ends with } If w is less than h, both statements will be executed.

If you are using a block of statements, don't forget to enclose all of the statements in a set of:

Braces

BufferedReader reads _______ of data to file

BufferedReader reads CHUNKS of data to file

What class am I? Low-level FileWriter more efficient

BufferedWriter class

BufferedWriter makes low - level _____ more _____

BufferedWriter makes low - level FileWriter more EFFICIENT

BufferedWriter writes _______ of data to file

BufferedWriter writes CHUNKS of data to file

output and input data in its binary format—a char is two bytes, an int is four bytes, a double is eight bytes, etc.

Byte-based streams

What is bytecode and why is it important to Java's use for Internet programming?

Bytecode is a highly optimized set of instructions that is exectued by the Java Virtual Machine. Bytecode helps Java achieve portability and security.

import java.net.URI; import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths. get( URI.create( "file:///C://a//File.txt")); System. out. println(p1); } } Consider the above code running on Windows. The above code will give: a) compiler error b) runtime error c) compile and print C:\a\File.txt d) none of the above

C is correct.

ObjectInputValidation

Callback interface to allow validation of objects within a graph.

Println()

Can be used to display information

output and input data as a sequence of characters in which every character is two bytes—the number of bytes for a given value depends on the number of characters in that value.

Character-based streams

Object

Class Object is the root of the class hierarchy.

read from or written to a stream

Classes ObjectInputStream and ObjectOutputStream (package java.io). which respectively implement the ObjectInput and ObjectOutput interfaces, enable entire objects to be...

Source file

Compilatoin unit A text file with one or more classifications Java compiler requires that a source file use the .java filename extension. The code must reside inside a class. The name of the main class should match the name of the file that holds the program.

A loop that executes as long as a particular condition exists is called a:

Conditional loop

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); char[] pw = c. readPassword( "Enter password: "); for(_____ : _____ ){ c._____ (_____ , _____ ); }}} Using a for-each loop complete the code to write out the password to the screen in boolean format.

Console c = System.console(); char[] pw = c. readPassword( "Enter password: "); for(char curChar: pw) { c.format("%b", curChar); } e.g. c:> Java A c:> Enter Password: hello c:> truetruetruetruetrue

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); char[] pw = c. readPassword( "Enter password: "); for(_____ : _____ ){ c._____ (_____ , _____ ); }}} Using a for-each loop complete the codeto write out the password to the screen in string format.

Console c = System.console(); char[] pw = c. readPassword( "Enter password: "); for(char curChar: pw) { c.format("%s", curChar); } e.g. c:> Java A c:> Enter Password: hello c:> hello

Console contains methods to access the _____ _____

Console contains methods to access the PHYSICAL DEVICES i.e. keyboard/monitor

Console is useful to write _____ engines for _____ _____

Console is useful to write TEST engines for UNIT TESTING

Console makes it easy to accept input from _____ _____

Console makes it easy to accept input from COMMAND LINE

ObjectStreamConstants

Constants written into the Object Serialization Stream.

ByteArrayInputStream

Contains an internal buffer that contains bytes that may be read from the stream.

FilterInputStream

Contains some other input stream, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.

FileReader

Convenience class for reading character files.

FileWriter

Convenience class for writing character files.

Loop example int count; for(count = 0; count < 5; count = count+1)

Count is the loop control variable Sets to zero in initalization Each iteration does the condtional test count < 5 If true, the loop continues increasing by 1 until it reaches 5.

A loop that repeats a specific number of times is known as a:

Counter-controlled loop

App steps

Create a IDE project Add code to generate the source file Compile the source file into a .class file Run the program

temporary

Data stored in variables and arrays is...

This is an item that separates other items.

Delimiter

Objects of classes that implement this interface enable a program to iterate through the contents of a directory.

DirectoryStream interface

var2 = var1 / 2;

Divides var1 by 2 then stores the result in var2. Could also do addition, subtraction, multiplication, and division.

Serializable

Enabled by the class implementing the java.io.Serializable interface.

Three main principles of object oriented programming?

Encapsulation Polymorphism Inheritence

==

Equal to

the exceptions that inherit from _____ are thrown when a critical error occurs, such as running out of memory

Error (703)

call stack trace

Error message (when not handling). Indicates where exception occured. Can get this information by calling getMessage on the exception class. printStackTrace prints the call stack trace.

Runtime

Every Java application has a single instance of this class that allows the application to interface with the environment in which the application is running.

root directory

Every file or directory on a particular disk drive has the same _________ in its path

end-of-file marker

Every operating system provides a mechanism to determine the end of a file, such as an _________ or a count of the total bytes in the file that is recorded in a system-maintained administrative data structure.

ObjectInput

Extends the DataInput interface to include the reading of objects.

ObjectOutput

Extends the DataOutput interface to include writing of objects.

List seven methods of PrintWriter

FPPPWFC format() printf() println() print() write() flush() close()

T/F - It is not necessary to initialize accumulator variables.

False

T/F - One limitation of the for loop is that only one variable may be initialized in the initialization expression.

False

T/F - The do-while loop is a pretest loop.

False

T/F - The for loop is a posttest loop.

False

T/F - To calculate the total number of iterations of a nested loop, add the number of iterations of all the loops.

False

TRUE/FALSE: In a for statement, the control variable can only be incremented.

False

TRUE/FALSE: In the for loop, the control variable cannot be initialized to a constant value and tested against a constant value.

False

TRUE/FALSE: The do-while loop is a pre-test loop.

False

TRUE/FALSE: When the break statement is encountered in a loop, all the statements in the body of the loop that appear after it are ignored, and the loop prepares for the next iteration.

False

BufferedWriter is less efficient than FileWriter true or false

False. BufferedWriter is more efficient FileWriter as FileWriter writes single chars at a time whereas BufferedWriter writes chunks of data to file

In File class close() method guarantees the last data gets written to disk. True or false

False. close() frees up expensive operating system resources

To open a file for reading, you use the following classes.

File and Scanner

What class am I? I make a new empty file but not the data. I search for files and delete files

File class

File class makes a new _____file but not the _____ . It searches for _____ and _____ them.

File class makes a new EMPTY file but not the DATA. It searches for FILES and DELETES them

Which of the following will open a file named MyFile.txt and allow you to read data from it?

File file = new File("MyFile.txt"); Scanner inputFile = new Scanner(file);

File makes a new _____ file but not the data - ______ for files and ________ files

File makes a new EMPTY file but NOT the DATA - SEARCHES for files - DELETES files

What class am I? I read characters (single or whole) stream of chars from a file.

FileReader class

FileReader class _____ characters ( _____ or whole) _____ of chars from a file.

FileReader class READ characters (SINGLE or whole) STREAM of chars from a file.

FileReader reads _______ chars from a _____at a time

FileReader reads SINGLE chars from a FILE at a time

What class am I? write characters (single or whole) stream of chars to a file.

FileWriter class

FileWriter class _____ characters (single or _____ ) stream of _____ to a file.

FileWriter class WRITES characters (single or WHOLE) stream of CHARS to a file.

Which of the following will open a file named MyFile.txt and allow you to append data to its existing contents?

FileWriter fwriter = new FileWriter("MyFile.txt", true); PrintWriter outFile = new PrintWriter(fwriter);

FileWriter writes single _________ at a time to file

FileWriter writes single chars at a time to file

For long-term retention of data

Files

Provides static methods for common file and directory manipulations, such as copying files; creating and deleting files and directories; getting information about files and directories; reading the contents of files; getting objects that allow you to manipulate the contents of files and directories; and more

Files class

text files

Files created using character-based streams are referred to as...

close

Formatter method _____ closes the file

format

Formatter method ______ works like System.out.printf

specified stream

Formatter outputs formatted Strings to the...

occurs if the Formatter is closed when you attempt to output.

FormatterClosedException

Reversed Is A case

GradedActivity activity = new GradedActivity(); Final exam = activity; //ERROR but GradedActivity activity = new GradedActivity(); Final exam = (FinalExam) activity; //will compile but will crash at runtime execution

>

Greater than

Java platform

Has the java virtual machine and the java application programming interface JVM - bae for the java platform

IllegalStateException

If a Scanner is closed before data is input, an _________ occurs

the file is in the directory from which the program was executed

If a path is not specified, the JVM assumes that...

truncated

If an existing file is opened, its contents are...

the operating sys-tem normally will close the file when program execution terminates

If method close is not called explicitly...

be created

If the file does not exist, it will...

Default exception handler

If your code does not handle an exception when it is thrown, this handles and prints an error message and crashes the program.

Iterable<T>

Implementing this interface allows an object to be the target of the "foreach" statement.

Throwing exceptions

In doing so, we essentially define our own exceptions For example, if you do public static void main(String[] args) throws OutOfRangeException { code that includes instantiating an OutOfRangeException object and later a if (whatever you want to check) { throw excepObj;} } you essentially make an exception that is not part of the standard library, but it is created from the outOfRangeException class. If there's no try-catch, the error will terminate the program.

++

Increases operand by 1 count++; instead of count + 1

Indentation practices

Indent one level after each opening brace and move out one level after closing a brace.

____________ is the process of inspecting data given to the program by the user and determining if it is valid.

Input validation

FilenameFilter

Instances of classes that implement this interface are used to filter filenames.

Class<T>

Instances of the class Class represent classes and interfaces in a running Java application.

FileDescriptor

Instances of the file descriptor class serve as an opaque handle to the underlying machine-specific structure representing an open file, an open socket, or another source or sink of bytes.

Character.Subset

Instances of this class represent particular subsets of the Unicode character set.

RandomAccessFile

Instances of this class support both reading and writing to a random access file.

tagging interface

Interface Serializable is a...

Thread.UncaughtExceptionHandler

Interface for handlers invoked when a Thread abruptly terminates due to an uncaught exception.

PipedOutputStream

Is to be connected to a piped input stream to create a communications pipe.

Console I/O

Is used mostly for simple utility programs ans server side code

print()

Is used to display the string on the same line

Deployment technology

JDK software provides standard mechanisms like Java web start software and Java plug in software to deploy your apps to end users.

Java : Exceptions & Advanced File I/O (10) (681-729)

Java : Exceptions & Advanced File I/O (10) (681-729)

Integration libraries

Java IDL API, JDBC, API, Java Naming and Directory Interface API, Java RMI, Java Remote Method, etc. enable database access and manipulation of remote objects.

Where do java programs begin execution?

Java programs begin execution at main()

Main () method

Java subroutine is a method. It's the line the program is executing. All java apps begin execution by calling main().

stream of bytes

Java views each file as a sequential...

User interface toolkits

JavaFX, Swing, Java 2D toolkits allow you to create Graphical user interfaces

ClassValue<T>

Lazily associate a computed value with (potentially) every type.

<

Less than

<=

Less than or equal to

This is a control structure that causes a statement or group of statements to repeat.

Loop

This variable controls the number of times that the loop iterates.

Loop control variable

List six methods of Files class located in java.nio.file.Files

MCNEDD - ALL Static methods - path move(Path scr, Path des, CopyOption... options) ----> path copy(Path scr, Path des, CopyOption... options) ----> boolean notExists(Path path, LinkOption... options) ----> boolean exists(Path path, LinkOption... options) ----> void delete(Path path) ----> boolean deleteIfExists(Path path)

List 8 methods in File class

MEDIICLR - mkdir() - exists() - delete() - isDirectory() - isFile() - createNewFile() - list() - renameTo()

ClassNotFoundException

Method readObject throws a _________ if the class for the object being read cannot be located.

EOFException

Method readObject throws an ________ if an attempt is made to read beyond the end of the file.

Console

Methods to access the character-based console device, if any, associated with the current Java virtual machine.

Overloading

Methods which have the same name but different signatures or parameter lists. showValue(int arg) vs showValue(String arg) Both can be called.

Overriding

Methods which have the same signature. The subclass version will be the only one able to be called showValue(int arg) in super showValue(in arg) in subclass only subby can be called. super.call is required to reach the overridden superclass method Protect from overriding by declaring: final showValue in ht superclass.

List 4 methods of BufferedWriter

NWFC newLine() write() flush() close()

Identifiers

Name given to user defined items like methods and variables. Can start with any letter, underscore, or a dollar sign. Then a letter, digit, dollar sign, or underscore. Underscore is used to make it easier to read Can't start with a digit or java keywords Name should reflect the meaning or usage of the item

occurs if the data being read by a Scanner method is in the wrong format or if there is no more data to input.

NoSuchElementException

!=

Not equal

Exception Hierarchy

Object Throwable Exception RuntimeException IllegalArgumentException NumberFormatException

ObjectInput

ObjectInput extends the DataInput interface to include the reading of objects.

readObject

ObjectInput interface method ________ reads and returns a reference to an Object from an InputStream

reads an Object from a file.

ObjectInputStream method readObject

ObjectOutput

ObjectOutput extends the DataOutput interface to include writing of objects.

takes an Object as an argument and writes its information to an OutputStream.

ObjectOutput interface method writeObject

ObjectOutputStreams and ObjectInputStreams

Objects of classes that implement interface Serializable can be serialized and deserialized with _______ and _______.

Package

Objects that contain version information about the implementation and specification of a Java package.

FileInputStream

Obtains input bytes from a file in a file system.

Externalizable

Only the identity of the class of an Externalizable instance is written in the serialization stream and it is the responsibility of the class to save and restore the contents of its instances.

Externalizable

Only the identity of the class of an of this instance is written in the serialization stream and it is the responsibility of the class to save and restore the contents of its instances.

--

Operand decreases by 1

instanceOf operator

Operator in Java that can be used to determine whether an object is an instance of a particular class.

____________________ is an abstract class that contains methods for performing output.

OutputStream

Objects of classes that implement this interface represent the location of a file or directory. Path objects do not open files or provide any file-processing capabilities.

Path interface

Provides static methods used to get a Path object representing a file or directory location.

Paths class

Data maintained in files that exists beyond the duration of program execution

Persistent Data

PipedReader

Piped character-input streams.

PipedWriter

Piped character-output streams.

Interface Reference Varaible

Polymorphic variable that can reference any object that implements that interface, regardless of its class type. Limitation When an interface variable is used, it can only call methods that are specified in the interface. Calling a not interface variable will result in a compilation error.

This type of loop will always be executed at least once.

Post-test loop

Stystem

Predefined class that provides access to the system

Private

Prevents a member from being used by code defined outside of its class

This class allows you to use the print and println methods to write data to a file.

PrintWriter

To open a file for writing, you use the following class.

PrintWriter

What class am I? Prints formatted representations of objects to a text-output stream.

PrintWriter class

PrintWriter class prints _____ representations of _____ to a text output stream

PrintWriter class prints FORMATTED representations of OBJECTS to a text output stream

PrintWriter contains extra ______ for _________. Makes it more _____ and ________ than Writer

PrintWriter contains extra METHODS for FORMATTING. Makes it more FLEXIBLE and POWERFUL than Writer

PrintWriter

Prints formatted representations of objects to a text-output stream.

ObjectInputStream.GetField

Provide access to the persistent fields read from the input stream.

Development tools

Provide everything you need. Main tools are javac compiler and javadoc documentation tool

ObjectOutputStream.PutField

Provide programmatic access to the persistent fields to be written to ObjectOutput.

Application programming interface

Provides core functionality of the Java programming language. Offers a wide array of ready to use classes. Is very large.

to create & work with *random access files* in Java, you must use the _____ class, in the *java.io package*

RandomAccessFile class (719 , 721) ~allows for reading, writing, and moving the file pointer

BufferedReader

Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.

is "relative" to another directory—for example, a path relative to the directory in which the application began executing.

Relative Path

ThreadGroup

Represents a set of threads.

ProcessBuilder.Redirect

Represents a source of subprocess input or a destination of subprocess output.

SequenceInputStream

Represents the logical concatenation of other input streams.

This is a sum of numbers that accumulates with each iteration of a loop.

Running total

_____ serves as a superclass for exceptions that result from programming errors, such as an out-of-bounds array subscript

RuntimeException (703)

Standard Streams

STDIN, STDOUT and STDERR.

This class allows you to read a line from a file.

Scanner

determines whether the end-of-file key combination has been entered

Scanner method hasNext

hard disks, flash drives, DVDs and more

Secondary Storage Devices

This is a value that signals when the end of a list of values has been reached.

Sentinel

Serializable

Serializability of a class is enabled by the class implementing the java.io.Serializable interface.

ObjectStreamClass

Serialization's descriptor for classes.

is represented as a sequence of bytes that includes the object's data and its type information

Serialized Objects

Before entering a loop to compute a running total, the program should first do this.

Set the accumulator where the total will be kept to an initial value, usually zero

PipedInputStream

Should be connected to a piped output stream; then provides whatever data bytes are written to the piped output stream.

Interfaces

Specify the behavior for a class Contains only abstract methods. Implemented by other classes public interface InterfaceName { int field1 =1; int field2 = 2; void display(); default void show; { print "hello" } } no access specifier for the method, its implicitly public. Field declarations are final and static and must be used. Multiples of these can be implemented. default methods can have a body. not required to be overridden.

Single line comment

Starts with // and ends at the end of hte line Usually programmers use this for brief line by line descriptions

In main() there is only one parameter

String args[] Declars a parameter named args This is an array of objects of type string

string

String objects store sequences of characters

in, out and err are public static object reference variables of the

System class

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console();char[] pw = c.readPassword("Enter password: "); _____ } } Consider the user entering "Hello". fill-in the code to output what the user entered to the screen.

System.out.println(pw); Simply prints the char array to the screen.

DataInput

The DataInput interface provides for reading bytes from a binary stream and reconstructing from them data in any of the Java primitive types.

DataOutput

The DataOutput interface provides for converting data from any of the Java primitive types to a series of bytes and writing these bytes to a binary stream.

Float

The Float class wraps a value of primitive type float in an object.

InPutStream

The InputStream is used to read data from a source.

OutPutStream

The OutputStream is used for writing data to a destination.

Process

The ProcessBuilder.start() and Runtime.exec methods create a native process and return an instance of a subclass of Process that can be used to control the process and obtain information about it.

Runnable

The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread.

Short

The Short class wraps a value of primitive type short in an object.

StreamTokenizer

The StreamTokenizer class takes an input stream and parses it into "tokens", allowing the tokens to be read one at a time.

Multi-Catch

The ability to catch multiple types of exceptions with a single catch clause. Example: Catch (NumberformatException | IOException e)

Polymorphism

The ability to take many forms A reference variable is of this type because it can reference objects of different types as long as those types are subclasses of its type. -Can only be used to call methods in that the variable knows within its own class. -A superclass reference variable can reference object of a subclass

Number

The abstract class Number is the superclass of classes BigDecimal, BigInteger, Byte, Double, Float, Integer, Long, and Short.

Public keyword

The access modifier, determines how other parts of the program can access the members of teh class. Public mean the member can be accessed by code outside the class in which it is declared.

var1 = 1024; //

The assignment operator is the equal sign. It copies the value on its right side into the variable on its left

StrictMath

The class StrictMath contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.

BufferedOutputStream

The class implements a buffered output stream.

StreamTokenizer

The class takes an input stream and parses it into "tokens", allowing the tokens to be read one at a time.

path

The constructor with one String argument receives the name of the file, including its ...

Superclass

The general class. Private members of this class cannot be accessed by the subclass and are technically not inherited. Super calls must be made in order to access these.

DataOutput

The interface provides for converting data from any of the Java primitive types to a series of bytes and writing these bytes to a binary stream.

DataInput

The interface provides for reading bytes from a binary stream and reconstructing from them data in any of the Java primitive types.

Parameters

The main() is the method called when a Java pp begins. Any information you need to pass a method is received by variables specified within the parentheses following the name of the method. These are called parameters. if there are no paramenters, include empty parentheses.

System.out.println("var1 contains " + var1) ;

The plus sign causes the value of var2 to be displayed after the string that proceeds it.

Binding

The process of matching a method call with the correct method definition. Determined at RUNTIME It is the object's type, not the reference type, which determines what method will be called in the case of an overridden method.

Subclass

The specialized class that inherits fields and methods from the superclass without any of them having to be rewritten.

Throwable

The superclass of all errors and exceptions in the Java language.

Protected members

These members may be directly accessed by methods of the same class or methods of the subclass or same package. Not quite private because the members can be accessed outside the package but not quite public because access is restricted to methods in the same package, subclass, classes etc.

InputStream

This abstract class is the superclass of all classes representing an input stream of bytes.

OutputStream

This abstract class is the superclass of all classes representing an output stream of bytes.

Math

This class contains methods for performing basic numeric operations such as the elementary exponential, logarithm, square root, and trigonometric functions.

System

This class contains several useful class fields and methods.

StringBufferInputStream Deprecated

This class does not properly convert characters into bytes.

InheritableThreadLocal<T>

This class extends ThreadLocal to provide inheritance of values from parent thread to child thread: when a child thread is created, the child receives initial values for all inheritable thread-local variables for which the parent has values.

CharArrayReader

This class implements a character buffer that can be used as a character-input stream.

CharArrayWriter

This class implements a character buffer that can be used as an Writer.

ByteArrayOutputStream

This class implements an output stream in which the data is written into a byte array.

LineNumberInputStream Deprecated

This class incorrectly assumes that bytes adequately represent characters.

SerializablePermission

This class is for Serializable permissions.

RuntimePermission

This class is for runtime permissions.

Compiler

This class is provided to support Java-to-native-code compilers and related services.

FilterOutputStream

This class is the superclass of all classes that filter output streams.

ProcessBuilder

This class is used to create operating system processes.

ThreadLocal<T>

This class provides thread-local variables.

FilePermission

This class represents access to a file or directory.

String

This class represents character strings.

Byte

This class wraps a value of primitive type byte in an object.

Boolean

This class wraps a value of the primitive type boolean in an object.

Character

This class wraps a value of the primitive type char in an object.

Double

This class wraps a value of the primitive type double in an object.

Integer

This class wraps a value of the primitive type int in an object.

Long

This class wraps a value of the primitive type long in an object.

Superclass Constructor

This constructor always executes before the subclass constructor -The super statements calls the superclass constructor and can only be written in subclass constructor -Must be the first statement in the subclass constructor -If subclass constructor does not explicitly call the superclass constructor Java will call the default constructor or no args version -If a superclass does not have a default constructor and does not have a no=arg constructor, the class that inherits from it must call one of the constructors that the superclass does have.

int var1; // this declares a variable

This declares a variable called var2 of type interger

Comparable<T>

This interface imposes a total ordering on the objects of each class that implements it.

Enum<E extends Enum<E>>

This is the common base class of all Java language enumeration types.

Standard Streams : Standard Input

This is used to feed the data to user's program and usually a keyboard is used as standard input stream and represented as System.in.

Standard Streams : Standard Output

This is used to output the data produced by the user's program and usually a computer screen is used for standard output stream and represented as System.out.

Standard Streams : Standard Error

This is used to output the error data produced by the user's program and usually a computer screen is used for standard error stream and represented as System.err.

object serialization

To read an entire object from or write an entire object to a file, Java provides...

T/F - A variable may be defined in the initialization expression of the for loop.

True

T/F - In a nested loop, the inner loop goes through all of its iterations for every iteration of the outer loop.

True

T/F - The while loop is a pretest loop.

True

TRUE/FALSE: A file must always be opened before using it and closed when the program is finished using it.

True

TRUE/FALSE: Java provides a set of simple unary operators designed just for incrementing and decrementing variables.

True

TRUE/FALSE: The do-while loop must be terminated with a semicolon.

True

TRUE/FALSE: The while loop has two important parts: (1) a boolean expression that is tested for a true or false value, and (2) a statement or block of statements that is repeated as long as the expression is true.

True

TRUE/FALSE: When the continue statement is encountered in a loop, all the statements in the body of the loop that appear after it are ignored, and the loop prepares for the next iteration.

True

TRUE/FALSE: When you open a file with the PrintWriter class, the class can potentially throw an IOException.

True

TRUE/FALSE: When you pass the name of a file to the PrintWriter constructor, and the file already exists, it will be erased and a new empty file with the same name will be created.

True

TRUE/FALSE: You can use the PrintWriter class to open a file for writing and write data to it.

True

In File class close() method frees up expensive operating system resources

True.

Compilers less than Java 7 uses instance methods on File to create files and directories. True or false

True. e.g. File f = new File("C:\\a\\b\\Log.txt");

Fractional components

Two floating point types Float and double for single and double precision values Double is used most often

Uncaught exception

Uncaught exception. When an exception is not caught it is passed to the previous method called in the call stack until it is handles or reaches the main method and is handled with the default exception handler.

Handling when thrown

Use try-catch

This type of loop allows the user to decide the number of iterations.

User controlled loop

After comments is class

Uses keyword class to declasre a new class is being identified. Begins with { and ends with } In between the braces are members of the class.

List 3 methods of FileWriter

WFC write() flush() close()

what is wrapping-chaining with an example from classes File FileWriter and PrintWriter in java.io?

Wrapping-training class is where one object is passed as a parameter to another. In the context of Java I/O e.g. File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); PrintWriter pw = new PrintWriter(fw); pw.println("c"); where FileWriter is wrapped inside PrintWriter

BufferedWriter

Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings.

Comments

You can enter comments if you'd like. Usually it explains the what the program does. There are three styles of comments. Multiline begin with /* and end in */. Compiler ignores whatever is in between those.

Loop

You can repeatedly execute a sequence of code by creating a loop. There are various loop constructs.

File object

You use _________ to create directories, to list down files available in a directory.

a *file* that contains *binary data* is known as _____

a *binary file* (713)

A directory

a File which can contain a list of other files and directories.

FACT

a catch clause that uses a parameter variable of the Exception type is capable of catching any exceptions that inherits from the Exception class (690)

System

a class predefined by java

computer file

a collection of data stored on a nonvolatile device

Files: a) contains only static methods b) contains static and non=static methods

a correct

Which of the below can be created using "new": a) File b) Path c)Paths d) Files:

a correct. Path is an interface. Files and Paths are final classes. This class consists exclusively of static methods that operate on files, directories, or other types of files.

File a = new File("c:\\a"); File b = new File("c:\\a\\b"); File f = new File(a,b,"f.txt"); System. out. println( f.createNewFile()); System. out. println( f.exists());The folders exist and the file already exists. The above code will give: a) compiler error b) runtime error c) Compile and Print "false true" d) None of the above

a correct. Remember File constructor can take (File, String) (String) (String,String) params ---> new File(a,b,"f.txt"); gives compiler error

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System.out.println( i.createdirectory()); } The above code will give: a) compiler error b) runtime error c) compile and print true d) none of the above

a correct. createdirectory() is not a method within the File class. To create a new directory you call the method mkdir() or mkdirs() for the creation of subdirectories

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\m.txt"); System. out. println( i.renameTo("C:\\a\\b\\a.txt")); } The above code will give: a) compiler error b) runtime error c) compile and rename m.txt to a.txt d) none of the above

a correct. i.renameTo() doesn't take string parameter. Solution: wrap the new file name in a File object i.e. i.renameTo(new File("C:\\a\\b\\a.txt")); Note: you can also change folder the same way.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System. out. println(i.del());} Assume the above folders exist. The above code will give: a) compiler error b) runtime error c) compile and delete b folder and return true d) none of the above

a correct. it will give a compiler error as the del() method does not exist in File. Replace this with i.delete() and it would work.

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); char[] n = c.readLine("%c", "Enter Name: "); System. out. println("Welcome "+n); } } The above code will give: a) compiler error b) runtime error c) compile and echo whatever you entered to the screen d) none of the above

a correct. readLine("%c", "Enter Name: "); returns a String var. you cannot store variable as a char variable. ----> Compiler error. Solution: String n = c.readLine("%s", "Enter Name: "); or String n = c.readLine("Enter Name: ");

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); char n = c.readPassword("%c", "Enter password: "); } } The above code will give: a) compiler error b) runtime error c) compile and store user input to char n d) none of the above

a correct. readPassword() returns char array ----> you cannot store (char[]) and read in a variable (char) ----> compiler error. Solution: char[] n = c.readPassword(

Paths: a) creates Paths objects that contain static methods b) creates Paths objects that contain non-static methods

a correct. static methods: return type: static Path ---- methods: get(String first, String... more) - Converts a path string, or a sequence of strings that when joined form a path string, to a Path. return type: static Path ----- Method: get(URI uri) - Converts the given URI to a Path object.

Why is opening a file important?

a file might be written to disk as a "scratchpad" for use by a program and then deleted at the end of the process to free up disk space

binary file

a file that contains raw binary data (712)

The java compiler creates

a file that contains the bytecode versoin of the program. Bytecode must be executed by teh Java virtual machine.

Code block

a grouping of two or more statements Enclosed in curly braces Becomes a logical unit that can be used in any place single statement can. Link statement together for clarity and efficiency

import java.io.BufferedReader; import java.io.File; import java.io.FileReader; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); System. out. println( br.readLine()); br.flush(); br.close();} } considering hello world is in file myFile.txt (where "hello" is on the first line and "world" on the second) The above code will give: a) compiler error b) runtime error c) compile and print "hello" d) none of the above

a is correct. BufferedReader class does not have a flush() method. If the flush method was removed then it would print "hello" to the screen. Note: flush() is located in BufferedWriter.

import java.io.BufferedReader; import java.io.File; import java.io.FileReader; class A { public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); BufferedReader br = new BufferedReader(f); System. out. println( br.readLine()); br.close();} } considering hello world is in file myFile.txt (where "hello" is on the first line and "world" on the second) The above code will give: a) compiler error b) runtime error c) compile and print "hello" d) none of the above

a is correct. File object f needs to be wrapped in FileReader fr object which needs to be wrapped in BufferedReader br object in order to compile i.e. File f = new File("C:\\a\\ myFile.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr);

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get( "C:\\a\\b\\File.txt"); System. out. println(p1); } } File location does not exist physically in memory. The above code will give: a) compiler error b) runtime error c) compile and print "C:\\a\\b\\File.txt" d) none of the above

a is correct. the folders and subfolders do not need to exist physically in order for this to combine.

FACT

a try statement can have several catch clauses in order to handle different types of exceptions (692) ~the program does not use the exception handlers to recover from any of the errors ~regardless of whether the file is not found or a nonnumeric item is encountered in the file, this program still halts

After you create a FileSystem object, you can define a Path using the ____ method with it. a. getPath() b. createPath() c. setPath() d. getDefault()

a. getPath()

The true benefit of using a(n) ____ file is the ability to retrieve a specific record from a file directly, without reading through other records to locate the desired one. a. random access b. text c. open d. input

a. random access

Placing a file in the ____ directory of your storage device is equivalent to tossing a loose document into a drawer. a. root b. path c. back d. loose

a. root

An array of bytes can be wrapped, or encompassed, into a ByteBuffer using the ByteBuffer ____ method. a. wrap() b. convert() c. export() d. toArray()

a. wrap()

This is a variable that keeps a running total.

accumulator

NOTE

all exception objects have a *printStackTrace* method, inherited from the *Throwable* class, that prints a *stack trace* (700)

FACT

an *exception* is an object (682)

exception

an indication of a problem that occurs during a programs execution

Exception

an object that defines an unusual or erroneous situation.

stream

an ordered sequence of bytes; it can be used as a source of input or as a destination for output

args

arguments

Paths is located in: a) java.io.file.Paths. b) java.nio.file.Paths

b correct

Files is an: a) abstract class b) final class c) class d) interface

b correct.

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); String n = c.readLine("%c", "Enter Name: "); System. out. println("Welcome "+n); } } The above code will give: a) compiler error b) runtime error c) compile and echo whatever you entered to the screen d) none of the above

b correct. Throws java. util. IllegalFormatConversionException Attempting to convert car formatted type to string throws exception. Solution: c.readLine("%s", ........);

import java.io.File; class A { public static void main(String[] args) throws Exception { File dir = new File("C:\\a\\b\\"); File f = new File(dir, "MyFile.txt"); f.createNewFile(); } } Considering the above directories a and b do not exist prior to execution. The above code will give: a) compiler error b) runtime error c) compile and print create an empty file "MyFile.txt" in a\b folder d) none of the above

b correct. f.createNewFile(); will throw an IOException as a and b and directories have not being created ----> insert dir.mkdirs(); AFTER File dir = new File("C:\\a\\b\\"); ----> i.e. File dir = new File("C:\\a\\b\\"); dir.mkdirs(); File f = new File(dir, "MyFile.txt"); f.createNewFile();

import java.nio.file.*; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Path des = Paths.get( "C:\\a\\log2.txt"); Files.copy(src, des); } } Where log2.txt does exist. The above code will give: a) compiler error b) runtime error c) compile and copy the content successfully d) none of the above

b correct. it will throw a FileAlreadyExistsException log2.txt already exists. It must not exist prior to copy.

import java.io.File; class A { public static void main( String[] args) { File f = new File( "C:\\a\\b\\Log.txt" ); f.createNewFile(); } } The above code will give: a) compiler error b) runtime error c) compile and create a new file Log.txt d) none of the above

b correct. it will throw a RuntimeException. main class should declare that it throws Exception.

import java.io.File; class B { public static void main(String[] args) throws Exception { File f = new File( "c:\\a\\b\\MyFile.txt"); System. out. println(f.exists()); System. out. println( f. createNewFile() ); } } assume the above path does not exist. The above code will give: a) compiler error b) runtime error c) Compile and Print "false true" d) None of the above

b correct. will print " false java.io.IOException: The system cannot find the path specified"

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console();char[] pw = c.readPassword(null, "Enter password: "); } } The above code will give: a) compiler error b) runtime error c) compile and print "Enter password: " d) none of the above

b is correct. It would throw an NullPointerException. readPassword(null,...) replace with readPassword("%s",... or readPassword( "Enter password: "); and it will compile and run fine.

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get("file:///C://a//File.txt"); System. out. println(p1); } } Consider the above code running on Windows. The above code will give: a) compiler error b) runtime error c) compile and print C://a//File.txt d) none of the above

b is correct. Will throw InvalidPathException because file:///C://a// on Windows is a URL. Solution: convert the string to URI Universal Resource Identifier- Path p1 = Paths.get(URI.create("file:///C://a//File.txt")); making sure to import java.net.URI;

Permanent storage is usually called computer memory or random access memory (RAM). a. True b. False

b. False

The top-level element in a Path's directory structure is located at index 1. a. True b. False

b. False

You can direct System.err to a new location, such as a disk file or printer, but you cannot direct System.out to a new location. a. True b. False

b. False

InputStream and OutputStream are subclasses of the ____ class. a. IO b. Object c. Stream d. IOStream

b. Object

____ is an abstract class for reading character streams. a. System.out b. Reader c. System.err d. OutStream

b. Reader

When you use the BufferedReader class, you must import the ____ package into your program. a. java.nio.file b. java.io c. java.nio d. java.io.input

b. java.io

A(n) ____ field is the field in a record that makes the record unique from all others. a. unique b. key c. search d. individual

b. key

You can create a writeable file by using the Files class ____ method. a. getOutputStream() b. newOutputStream() c. newFileOutputStream() d. fileOutputStream()

b. newOutputStream()

A file channel is ____, meaning you can search for a specific file location and operations can start at any specified position. a. moveable b. seekable c. flexible d. dynamic

b. seekable

A data file can be used as a(n) ____ file when each record is accessed one after another in the order in which it was stored. a. application b. sequential access c. stream d. field

b. sequential access

Why is closing a file important?

because an "end of file" marker must be written to disk to let the operating system know where one file ends and another begins

a file that is *opened or created* with the *RandomAccessFile class* is treated as a _____file

binary (719) ~the *RandomAccessFile class* has the same methods as the *DataOutputStream class* for writing data, and the same methods as the *DataInputStream class* for reading data

Files created using byte-based streams

binary files

[ signals the start of main()'s

body All the code in a method will occur between the method's opening curly brace and closing curly brace

the FileOutputStream constructor takes an optional second argument which must be a _____ value

boolean (718)

How do you get the operating system to display the complete file path?

by highlighting a file in finder and then pressing Command I

How do you categorize files?

by the way that they store data

you must compile classes written in java into

bytecode

Paths is an: a) abstract class b) static class c) class d) interface

c correct

Path contains: a) only static methods b) static and nonstatic methods c) nonstatic methods only

c correct.

import java.io.File; class B { public static void main(String[] args) throws Exception { File f = new File( "c:\\a\\b\\MyFile.txt"); System. out. println( f.exists()); System. out. println( f.createNewFile()); } } assume the above path does exist. The above code will give: a) compiler error b) runtime error c) Compile and Print "false true" d) None of the above

c correct. It's important to ensure that the path/folders exist beforehand. f.exists() --> returns false. f.createNewFile() --> returns true when MyFile.txt successfully created

Files and Path and Paths: a) can be created using "new" b) cannot be created using "new"

c correct. Path is an interface. Files and Paths are final classes. This class consists exclusively of static methods that operate on files, directories, or other types of files.

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); String n = c.readLine("%s", "Enter Name: "); System. out. println("Welcome "+n); } } The above code will give: a) compiler error b) runtime error c) compile and echo whatever you entered to the screen d) none of the above

c correct. e.g. c:> java A :c> Enter Name: Mark c:> Welcome Mark

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console();char[] pw = c.readPassword("%s", "Enter password: "); } } The above code will give: a) compiler error b) runtime error c) compile and print "Enter password: " d) none of the above

c is correct.

public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr); System.out.println(br.readLine()); br.close(); } considering "hello world" is in file myFile.txt (where "hello" is on the first line and "world" on the second) The above code will give: a) compiler error b) runtime error c) compile and print "hello" d) none of the above

c is correct.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\m.txt"); System. out. println( i.renameTo(new File("C:\\a\\b\\a.txt"))); } The above code will give: a) compiler error b) runtime error c) compile and rename m.txt to a.txt d) none of the above

c is correct.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System. out. println( i.isDirectory()); } The above code will give: a) compiler error b) runtime error c) compile and print false d) compile and print true

c is correct. File i = new File("C:\\a\\b\\"); is an object not a folder. In order to create the folder you need to state ; File i = new File("C:\\a\\b\\"); i.mkdirs(); System. out. println( i.isDirectory()); ----> will return true

import java.io.File; class A { public static void main( String [] args) { File f = new File( "C:\\a\\b\\"); f.mkdirs(); } } The above code will give: a) compiler error b) runtime error c) compile and create the subfolders a and b d) none of the above

c is correct. Note: The main method does not need to declare that it throws Exception but it does if creating via import java.nio.file.Files; i.e. File f = new File( "C:\\a\\b\\Log.txt"); f.createNewFile(); }

import java.nio.file.*; class A { public static void main ( String[] args) throws Exception { Path src = Paths.get( "C:\\a\\log1.txt"); Path des = Paths.get( "C:\\a\\log2.txt"); Files.copy(src, des); } } Where log2.txt does not exist. The above code will give: a) compiler error b) runtime error c) compile and will copy the contents of log1.txt to log2.txt d) none of the above

c is correct. Note: if log2.txt exists then it will throw a FileAlreadyExistsException

import java.nio.file.Path; import java.nio.file.Paths; class A { public static void main(String[] args) { Path p1 = Paths.get( "C:\\a\\","b\\File.txt"); System. out. println(p1); } } File location does not exist physically in memory. The above code will give: a) compiler error b) runtime error c) compile and print "C:\\a\\b\\File.txt" d) none of the above

c is correct. Paths.get( "C:\\a\\","b\\File.txt"); is syntactically correct. You can also use: Paths.get( "C:\\a\\", "b\\","File.txt"); or Path p1 = Paths.get( "C:\\a\\b\\","File.txt");

File a = new File("c:\\a"); File f = new File(a,"f.txt"); System. out. println( f.createNewFile()); System. out. println( f.exists());The folders exist and the file already exists. The above code will give: a) compiler error b) runtime error c) Compile and Print "false true" d) None of the above

c is correct. Remember File constructor can take (File, String) (String) (String,String) params

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System. out. println( i.delete()); System. out. println(i.delete()); i = new File("C:\\a\\"); System. out. println(i.delete()); } Assume the above folders exist. The above code will give: a) compiler error b) runtime error c) compile and delete a and b folders and return true d) none of the above

c is correct. The first delete method call delete subfolder b. A File reference i is then reappointed to a new File Object containing folder a. The second delete method call then deletes this folder a.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); File f = new File(i,"m.txt"); f.createNewFile(); System. out. println( f.isFile());} The above code will give: a) compiler error b) runtime error c) compile and print true d) none of the above

c is correct. this code creates a new file in the subdirectory b

You can use Java's ____ class to create objects that contain information about files or directories, such as their locations, sizes, creation dates, and whether they even exist. a. Directory b. Property c. Path d. File

c. Path

FileSystems is a class that contains ____ methods, which assist in object creation. a. factory b. file c. abstract d. system

c. abstract

Some text files are ____ files that contain facts and figures, such as a payroll file that contains employee numbers, names, and salaries. a. application b. volatile c. data d. program

c. data

The ____ method returns the last Path element in a list of pathnames. a. toString() b. getNameCount() c. getFileName() d. getName(int)

c. getFileName()

in versions prior to Java 7, each _____ clause can handle only 1 type of exception

catch class (700) ~however, a catch clause can handle more than 1 type of exception ~this can reduce a lot of duplicated code in a try statement that needs to catch multiple exceptions, but performs the same operation for each one

The + operator

chains together items within a single println() statement

those that do not inherit from *Error* or *RuntimeException* are _____

checked exceptions (703) ~you should handle these exceptions in your program

*exception objects* are created from _____ in the Java API

classes (682)

When a program is finished using a file, it should do this.

close the file

What method am I? Closes the stream and releases any system resources associated with it.

close() located in FileWriter - BufferedWriter - PrintWriter

void close() [DataOutputStream method]

closes the file (714)

void close() [DataInputStream method]

closes the file (716)

Arrays

collections of similar objects

non-executing program statements that provide documentation are called

comments

After the write and save a Java application file, you ______ it

compile + resave

A _______ translates high-level language statements into machine code

compiler

absolute path

complete path name with all directories listed; doesn't need any more information to locate the file on a system

Text Files

contain data that can be read in a text editor because the data has been encoded using ASCII or Unicode

binary files

contains data that has not been encoded as text; the content cannot be viewed in a text editor

Path is an: a) abstract class b) static class c) class d) interface

d is correct

import java.io.Console; class A { public static void main(String[] args) { Console c = System. console(); char[] n = c. readPassword( "%s", "Enter password: "); System. out. println( "Password is: "+n); } } Consider the user entered mark. The above code will give: a) compiler error b) runtime error c) compile and print mark d) Address of password e.g. [C@139eeda

d is correct.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System. out. println(i.delete()); System. out. println( i.delete()); } Assume the above folders exist. The above code will give: a) compiler error b) runtime error c) compile and delete a and b folders and return true d) none of the above

d is correct. It deletes b subfolder and returns true. the second call to the delete method i.delete() attempts to delete the same subfolder b but it does not exist therefore returns false

import java.io.File; class A { public static void main(String[] args) throws Exception { File dir = new File("C:\\a\\b\\"); dir.mkdirs(); File f = new File(dir, "MyFile.txt"); } } The above code will give: a) compiler error b) runtime error c) compile and print create an empty file "MyFile.txt" in a\b folder d) none of the above

d is correct. It will create the folders a and b but not the file "MyFile.txt" as f.createNewFile(); should be declared after File f = new File(dir, "MyFile.txt");

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); File f = new File(i,"m.txt"); System. out. println( f.isFile());} The above code will give: a) compiler error b) runtime error c) compile and print true d) none of the above

d is correct. You need to call the method f.createNewFile(); after File f = new File(i,"m.txt"); it will then return through

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); i.mkdir(); System. out. println( i.isDirectory()); } The above code will give: a) compiler error b) runtime error c) compile and print true d) none of the above

d is correct. i.mkdir(); therefore doesn't create folders ----> makes one folder only. however if i.mkdir(); is replaced with i.mkdirs(); this would work fine.

public static void main(String[] args) throws Exception { File i = new File("C:\\a\\b\\"); System. out. println( i.delete()); } Assume the above folders exist. The above code will give: a) compiler error b) runtime error c) compile and delete a and b folders and return true d) none of the above

d is correct. it will delete b sub folder only.

public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); BufferedWriter bw = new BufferedWriter(fw); bw.write("a1"); bw.write("b1"); } The above code will give: a) compiler error b) runtime error c) compile and print "a1b1" d) none of the above

d is correct. myFile.txt is still open. You must call bw.flush(); bw.close(); after completing writing to the file.

public static void main(String[] args) throws Exception { File f = new File("C:\\a\\myFile.txt"); FileWriter fw = new FileWriter(f); BufferedWriter bw = new BufferedWriter(fw); bw.write("a"); bw.write("b"); bw.flush(); bw.close(); } The above code will give: a) compiler error b) runtime error c) compile and write a b (On seperate lines) d) none of the above

d is correct. will write "ab" (without spaces). To write a and b on separate lines you need to get the character for your particular operating system e.g. bw.write("a"); bw.write( System. lineSeparator()); bw.write("b");

A(n) ____ is a holding place for bytes that are waiting to be read or written. a. ByteChannel b. FileChannel c. InputStream d. ByteBuffer

d. ByteBuffer

You can use Java's ____ class to create your own random access files. a. Path b. FileStream c. File d. FileChannel

d. FileChannel

A ____ is a group of characters that has some meaning. a. record b. file c. byte d. field

d. field

FACT

data can be stored in a file in its *raw binary format* (713)

_____ deals with *thrown exceptions*

default exception handler (682)

Variable names cannot start with a

digit

Given the following statement, which statement will write "Calvin" to the file DiskFile.txt? PrintWriter diskOut = new PrintWriter("DiskFile.txt");

diskOut.println("Calvin");

This type of loop always executes at least once.

do-while

This type of loop is ideal in situations where you always want the loop to iterate at least once.

do-while loop

In a java program, you must use _______ to separate classes, objects, and methods

dots

Moon's gravity is 17 percent of earth's. Write a program for your weight on the moon.

double moonweight; double earthweight; earthweight = 165; moonweight = earthweight * 0.17; System.out.println(earthweight + " earth-pounds is equivalent to " + moonweight + " moon-pounds.");

exception handler

each catch clause (can have more than one) is called this.

a(n) _____ is an object that is generated in memory as the result of an error or an unexpected event

exception (681,682)

a(n) _____ is a section of code that responds to *exceptions* when they are *thrown*

exception handler (682)

File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter are located in java.lang true or false

false

File -FileWriter- FileReader - BufferedReader - BufferedWriter - PrintWriter do not need to have be wrapped in a try/catch block or declare that method throws an Exception. true or false

false

Path is located in java.io.file.Path. True or false?

false it is located in: java.nio.file.Path

Files Path and Paths existed in Java 6. True or false

false. All were created in Java 7. Only File existed in Java 6.

paths

a complete list of the disk drive plus the hierarchy of directories in which a file resides

examples of things stored in text files

a payroll file or programmer application files that store software instructions

Java lets you assign a file to a(n) ____ object so that screen output and file output work in exactly the same manner. a. Stream b. Input c. Output d. File

a. Stream

In random access files, records can be retrieved in any order. a. True b. False

a. True

Java's Path class is used to create objects that contain information about files and directories, while the Files class performs operations on files and directories. a. True b. False

a. True

When you use the BufferedReader class, you must import the java.io package into your program. a. True b. False

a. True

You can store data in variables within a program, but this type of storage is temporary. a. True b. False

a. True

Every file path is either __________ or __________.

absolute; relative

relative path

assumed that the file is located in the same folder as the program using the file

Which of the following statements will write a line separator? a. newline(); b. BufferedWriter.newline(); c. FileChannel.newline(); d. ByteBuffer.newline();

b. BufferedWriter.newline();

Comma-separated values (CSV) is a file format strictly used for working with Java and databases. a. True b. False

b. False

If you simply want to display records in order based on their key field, you need to create a random access file. a. True b. False

b. False

InputStream is a child of FileInputStream. a. True b. False

b. False

____ applications require that a record be accessed immediately while a client is waiting. a. Sequential b. Dependent c. Real-time d. Batch

c. Real-time

Because the backslash character starts the escape sequence in Java, you must use two ____ in a string that describes a Path in the DOS operating system. a. dashes b. quotes c. backslashes d. periods

c. backslashes

The BufferedWriter class contains a ____ method that uses the current platform's line separator. a. lineSeparator() b. systemSeparator() c. newLine() d. newSeparator()

c. newLine()

Any of the file input or output methods in a Java program might throw an exception, so all the relevant code in the class is placed in a ____ block. a. finally b. throw c. try d. catch

c. try

InputStream object 's helper methods

can be used to read to stream or to do other operations on the stream. - public void close() throws IOException{} - protected void finalize()throws IOException {} - public int read(int r)throws IOException{} - public int read(byte[] r) throws IOException{} - public int available() throws IOException{}

The String class ____ method accepts an argument that identifies the field delimiter and returns an array of Strings. a. tokens() b. divide() c. tokenize() d. split()

d. split()

Byte Streams : FileInputStream and FileOutputStream Example

import java.io.*; public class CopyFile { public static void main(String args[]) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream("input.txt"); out = new FileOutputStream("output.txt"); int c; while ((c = in.read()) != -1) { out.write(c); } }finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } }

root directory

it is placed here when storing a permanent file; equivalent to tossing a loose paper in a filing cabinet

mkdirs()

method creates both a directory and all the parents of the directory.

When you write a Java program and __________, you are using __________.

save it to disk; permanent storage

finally

statement that will be executed whether or not there is an exception

When you write a Java program that __________, you are using __________.

stores a value in a variable; RAM

RAM

temporary storage within a computer; "memory"

Categories of Files

text files and binary files

java.io package

- contains nearly every class you might ever need to perform input and output (I/O) in Java - All these streams represent an input source and an output destination - The stream in the java.io package supports many data such as primitives, object, localized characters, etc.

FileInputStream

- is used for reading data from the files. - Objects can be created using the keyword new and there are several types of constructors available. InputStream f = new FileInputStream("C:/java/hello"); or File f = new File("C:/java/hello"); InputStream f = new FileInputStream(f);

FileOutputStream

- is used to create a file and write data into it. - The stream would create a file, if it doesn't already exist, before opening it for output. ex1: OutputStream f = new FileOutputStream("C:/java/hello") ex2: File f = new File("C:/java/hello"); OutputStream f = new FileOutputStream(f);

Creating Directories: 2 useful File utility methods

- mkdir( ) - mkdirs()

Character Streams

- perform input and output for 16-bit unicode - most frequently used classes are, FileReader and FileWriter. - Though internally FileReader uses FileInputStream and FileWriter uses FileOutputStream but here the major difference is that FileReader reads two bytes at a time and FileWriter writes two bytes at a time.

Byte Streams

- used to perform input and output of 8-bit bytes - most frequently used classes are, FileInputStream and FileOutputStream.

running time exception

An exception that can only occur when a program runs

How have we obtained data in our projects?

Arrays and Scanner inputs

Volatile Storage

RAM; lost when a computer loses power

What does RAM stand for?

Random Access Memory

IOException

The input / output

File Navigation and I/O

There are several other classes that we would be going through to get to know the basics of File Navigation and I/O. File Class FileReader Class FileWriter Class

Unicode

Universal Character Encoding; designed to represent characters from all languages around the world


Set pelajaran terkait

Chapter 1: Contract Law Overview

View Set

EAQ 4- Comfort, Pain & Nutrition

View Set

MGT 370 Midterm Chapter 1,2,3,4,5 and 6

View Set

Real Estate Pre-License Uniform Quiz 3

View Set

Chapter 2 : Accounting For Business Transactions (Learn Smart)

View Set

Communications Ch. 7,8,9 Study guide

View Set

Principles of Marketing - Chapter 4 Video Assignment: Domino's Pizza Managing Marketing Information

View Set