slide1
Download
Skip this Video
Download Presentation
Java

Loading in 2 Seconds...

play fullscreen
1 / 30

Java - PowerPoint PPT Presentation


  • 128 Views
  • Uploaded on

Java. Chapter 9 File Input and Output. Objectives. In this chapter you will: Learn how bits, characters, records, and files fit into a data hierarchy Explore the differences between text files and binary files Use the File class to identify, manage, and manipulate files

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Java' - kamuzu


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Java

Chapter 9

File Input and Output

objectives
Objectives

In this chapter you will:

  • Learn how bits, characters, records, and files fit into a data hierarchy
  • Explore the differences between text files and binary files
  • Use the File class to identify, manage, and manipulate files
  • Perform data input and output with text files
  • Perform data input and output with binary files
file input and output
File Input and Output
  • Most real-world applications use data files
  • Data stored in files are called persistent data
  • Reading data from a file is called file input
  • Writing data to a file is called file output
  • File processing refers to file input or file output
file input and output continued
File Input and Output (continued)
  • Two types of files
    • Text files contain only human-readable characters
    • Binary files contain human-readable characters and other characters understood by the software or hardware
  • Files containing data needed by an application may be either text or binary
inputting data from a text file
Inputting Data from a Text File
  • Many programs are designed to use external data
  • External data can be numeric
    • Stock prices, GPS coordinates temperatures
  • External data can be string
    • Names, descriptions, passwords
  • If such data is stored permanently in a data file, and is designed to be human-readable, it is a text file
text file organization
Text File Organization
  • Recall all data ultimately is a sequence of 0s and 1s, which represent two states of electronic circuits: on and off
  • A localized group of 8 bits forms a byte and bytes represent characters
  • Example: ‘A’ is 65 in Unicode, 01000001 in binary:

0X27+ 1X26+ 0X25+ 0X24+ 0X23+ 0X22+ 0X21+ 1X20

text file organization continued
Text File Organization (continued)
  • A data field is a group of characters that has a specific meaning
    • Example: last_name, student_ID, test_score
  • A data record is a group of related fields
    • Example: Smith 12345 95.5
    • Attributes of the same individual
  • A data file is a group of related data records stored in a single file
the file class
The File Class
  • The File class establishes the file’s name and location and opens the file for input
  • If the file is in a directory other than the current, its path must be specified
  • The relative path is the path of folders that leads to the file relative to the current file
  • The absolute path is the path from the drive letter to the file
  • The syntax for declaring a File object:

File myFl = new File (“./mydata.txt”);

the filereader and bufferedreader classes
The FileReader and BufferedReader Classes
  • After the data file is established using a File object, the data in the file can be read
  • A source file provides data to a program
  • Analogous to a pipeline
    • The pipeline has 2 ends connected to the source (the input file) and destination (the program file)
    • The pipeline has a valve that controls the amount of data allowed into the program
the filereader and bufferedreader classes continued1
The FileReader and BufferedReader Classes (continued)
  • Establish a data source

File infl = new File (“./source.txt”);

  • Create a pipeline from source to program

FileReader frdr =

new FileReader (infl);

  • Create a valve

BufferedReader aBfrd =

new BufferedReader(frdr);

the filereader and bufferedreader classes continued2
The FileReader and BufferedReader Classes (continued)
  • Read one line of data

String aRcrd = aBfrd.readLine();

  • Input can also be read using the Scanner class

File infl = new File (./source.txt);

Scanner input = new Scanner (infl);

String aFld = input.next();

apply the concept
Apply the Concept
  • Develop an application to read IDs, names, and scores of students from a file and display the average score for each student
  • A while loop tests whether the program is at the end of the student names file
  • As IDs are read scores are read and totalScore and scoreCount are updated
working with directories
Working with Directories
  • The file object has many methods.
  • The file can be a folder or directory.
  • Review the API documentation for all of the methods.
    • http://java.sun.com/j2se/1.4.2/docs/api/index.html
  • Note the list() and list(filter) methods that can be used to return a list of files (as well as other folders) in a folder.
outputting data to a text file
Outputting Data to a Text File
  • Previously we have accessed data from a source file
  • Next, we output data to a destination file
  • A destination file receives data from a program
the file class1
The File Class
  • File objects for output are created just as for input
  • Unlike source files, destination files do not have to exist before the program is run
  • If the destination file already exists, it is overwritten when the program is run
  • If the destination file does not exist, it is created
the filewriter and printwriter classes
The FileWriter and PrintWriter Classes
  • Instantiate a File object to create the data destination
  • Instantiate a FileWriter object to create a pipeline from the program to the output file
  • FileWriter throws an IOException if it can’t create the output file
  • Instantiate a PrintWriter object to enable writing to the output file
  • Use the println method in PrintWriter to write the output
apply the concept1
Apply the Concept
  • Modify previous example to print each student’s score average to file, as well as to the command window
  • The application uses the same input files
  • Import java.io.IOException, java.io.FileWriter, and java.io.PrintWriter
  • Instantiate a File object for writing output
  • PrintWriter is declared outside of the try block to be accessible in the finally block
apply the concept continued
Apply the Concept (continued)
  • A runtime error can occur if the output file location is nonexistent
performing input and output with binary files
Performing Input and Output with Binary Files
  • The previous sections discussed reading from and writing to text files
  • Java classes Scanner, FileReader, BufferedReader, FileWriter, and PrintWriter work with pipelines or streams that carry text data
  • All files not classified as text files are binary files
  • Binary files can be compiled programs, image files, sound files, compressed files
identifying an input output file
Identifying an Input/Output File
  • The process of using the File class is the same for text files and binary files
  • Create a binary file to write to in the current directory

File file1 =

new File ( “./myFile.dat” );

writing to a binary file
Writing to a Binary File
  • To write to a text file there are 5 steps:

File oFl = new File ( “averages.txt”);

FileWriter fwt = new FileWriter (oFl);

PrintWriter pwt = new PrintWriter (fwt);

pwt.println (aLineOfData);

pwt.close();

  • To write to a binary file, substitute:
    • FileOutputStream for FileWriter
    • DataOutputStream for PrintWriter
    • writeChar for println
reading from a binary file
Reading from a Binary File
  • To read from a binary file, identify the input file using a File object
  • A FileInputStream object connects the input file to the program
  • The DataInputStream allows different types of data to be read
  • Methods in DataInputStream read different types of data
summary
Summary
  • Data is arranged in a hierarchy: files, records, fields, characters, bits
  • The File class identifies a file to the program so that it can be read from or written to
  • An absolute path is the path from the drive letter to the file
  • A relative path is the path to the file relative to the current file
  • The class FileReader reads a continuous stream of characters from a text file
summary continued
Summary (continued)
  • The class BufferedReader controls the flow of characters through the FileReader object
  • The class FileWriter establishes a data stream from the program to a text file
  • The class PrintWriter enables writing formatted text to a text file
  • The classes FileOutputStream and DataOutputStream write program data to binary files
  • The classes FileInputStream and DataInputStream read data from binary files
ad