21287 x ch08

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Slide1: 

1

Objectives: 

Objectives Declare StreamReader and StreamWriter variables Open a sequential access file Determine whether a sequential access file exists Write information to a sequential access file Align the text written to a sequential access file

Objectives (continued): 

Objectives (continued) Read information from a sequential access file Test for the end of a sequential access file Close a sequential access file Handle exceptions using a Try/Catch block Write records to a sequential access file Read records from a sequential access file

File Types: 

File Types Output files Files to which output is written Store output produced by the application Input Files Files that are read by the computer Application uses information stored in files Sequential Often referred to as “text files” Binary and Random Not covered in this text

Using Sequential Access Files: 

Using Sequential Access Files

HOW TO…: 

HOW TO…

Declaring StreamWriter and StreamReader Variables: 

Declaring StreamWriter and StreamReader Variables StreamWriter object Writes a sequence of characters to a sequential access file Referred to as a “stream of characters” Also referred to as a “stream” StreamReader object Reads a stream (sequence of characters) to a sequential access file

HOW TO…: 

HOW TO…

Opening a Sequential Access file: 

Opening a Sequential Access file Declare variable of StreamWriter or StreamReader object datatype Then use variable to refer to object and file in the program OpenText method Opens an existing file for input CreateText method Creates a new empty file for output AppendText method Appends data to the end of an existing sequential access file

HOW TO…: 

HOW TO…

Opening a Sequential Access file (continued): 

Opening a Sequential Access file (continued)

Determining Whether a File Exists: 

Determining Whether a File Exists

Writing Information to a Sequential Access File: 

Writing Information to a Sequential Access File Write method Positions file pointer at end of last character it writes to the file WriteLine method Positions file pointer at beginning of next line in the file by appending a line termination character (carriage return, line feed) Space function Use to write a specific number of spaces to file

HOW TO…: 

HOW TO…

Aligning Columns of Information: 

Aligning Columns of Information PadLeft(length, [character]) Pads at beginning of string with a specified character until string is a specified length Character is optional and default is a space PadRight(length, [character]) Same as above only pads at end of string

HOW TO…: 

HOW TO…

Reading Information from a Sequential Access file: 

Reading Information from a Sequential Access file ReadLine method Reads a line of text from sequential access file A line is a sequence of characters followed by the line termination character Peek method Peeks into a file to see if file contains another character to read Returns the number -1 if no more data in file Typically used within a loop to prevent a file read error

HOW TO…: 

HOW TO…

Closing a Sequential Access File: 

Closing a Sequential Access File Close method Closes file associate with stream variable

The Friends Application: 

The Friends Application Allows user to write names of his or her friends to a sequential access file Allows names to be read from above file

The Friends Application (continued): 

The Friends Application (continued)

The Friends Application (continued): 

The Friends Application (continued)

The Friends Application (continued): 

The Friends Application (continued)

HOW TO…: 

HOW TO…

The Friends Application (continued): 

The Friends Application (continued) btnRead_Click event Code causes name read from file to be displayed in a message box

Using a Try/Catch Block: 

Using a Try/Catch Block Try statement Use to catch (or trap) an exception Exception is an error that occurs while program is running Catch statement Use to have computer take appropriate action More than one catch can occur after a try Multiple catch allow for trapping of different types of errors Try/Catch block Block of code that uses both Try and Catch statements

HOW TO…: 

HOW TO…

HOW TO…(continued): 

HOW TO…(continued)

Using a Try/Catch Block (continued): 

Using a Try/Catch Block (continued)

Using a Try/Catch Block (continued): 

Using a Try/Catch Block (continued)

Writing and Reading Records: 

Writing and Reading Records Field A single item of information about a person, place, or thing Examples: Name, salary, price, age Record One or more related fields that contain all the necessary data about a specific person, place, or thing

HOW TO…: 

HOW TO…

HOW TO…: 

HOW TO…

Programming Example - PAO Application: 

Programming Example - PAO Application Application allows user to enter the political party and age The input information is saved to a sequential access file In addition, the application calculates and displays the number of voters in each political party

TOE Chart: 

TOE Chart

TOE Chart (continued): 

TOE Chart (continued)

User Interface: 

User Interface

Objects, Properties, and Settings: 

Objects, Properties, and Settings

Objects, Properties, and Settings (continued): 

Objects, Properties, and Settings (continued)

Tab Order: 

Tab Order

Pseudocode: 

Pseudocode btnExit Click event procedure close the application btnWrite Click event procedure open pao.txt file for append if txtparty control contains D, R, or I Write contents of txtParty control, a comma, and txtAge to pao.txt file else Display message prompting user to enter D,R, or I End if close the pao.txt file Clear contents of txtParty and txtAge controls Send focus to txtParty control Include a Try/Catch block to catch general errors displaying error description in a messagebox

Pseudocode (continued): 

Pseudocode (continued) btnDisplay click event procedure open pao.txt file for input repeat until no more characters to read read record from file if first character is letter D add 1 to Democrat counter else if first character is R add 1 to Republican counter else add 1 to Independent counter end if end try close pao.txt file

Pseudocode (continued): 

Pseudocode (continued) btnDisplay Click event (continued) Display Democrat counter value in lblTotalDem Display Republican counter value in lblTotalRep Display Independent counter value in lblTotalInd Include Try/Catch block with 2 Catch sections The first catches FileNotFoundException and displays “Cannot locate the pao.txt file” in a messagebox The second catches general errors and displays a description of the error in a messagebox

Code: 

Code

Code (continued): 

Code (continued)

Summary: 

Summary Information in a sequential access file is accessed in consecutive order (from beginning to end) Use the StreamWriter object to write a sequence of characters (stream) to a sequential access file Use a StreamReader object to read a stream from a sequential access file Exists method returns a boolean value indicating whether file exists

Summary (continued): 

Summary (continued) Write method writes but does not write a line termination characters WriteLine method appends a line termination character ReadLine method reads a line of text Peek method determines whether file has more data to be read Space function writes specific number of spaces to file PadLeft and PadRight pad characters to file to align columns of information

Summary (continued): 

Summary (continued) To prevent loss of data, call the Close method Use a Try/Catch block to catch an exception (error) and to take appropriate action when exception occurs Use a general Catch statement as the last Catch statement to handle unexpected errors Display exception using syntax variablename.Message where variablename is the name of variable in catch statement Sequential files are used to store fields and records