480 likes | 582 Views
This is from an old VB text but coding conventions still apply. 1. 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
E N D
This is from an old VB text but coding conventions still apply 1
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
Using Sequential Access Files Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
Opening a Sequential Access file (continued) Microsoft Visual Basic .NET: Reloaded
Determining Whether a File Exists Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
Closing a Sequential Access File • Close method • Closes file associate with stream variable Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued) Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued) Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued) Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued) • btnRead_Click event • Code causes name read from file to be displayed in a message box Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
HOW TO…(continued) Microsoft Visual Basic .NET: Reloaded
Using a Try/Catch Block(continued) Microsoft Visual Basic .NET: Reloaded
Using a Try/Catch Block(continued) Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
HOW TO… Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
TOE Chart Microsoft Visual Basic .NET: Reloaded
TOE Chart (continued) Microsoft Visual Basic .NET: Reloaded
User Interface Microsoft Visual Basic .NET: Reloaded
Objects, Properties, and Settings Microsoft Visual Basic .NET: Reloaded
Objects, Properties, and Settings (continued) Microsoft Visual Basic .NET: Reloaded
Tab Order Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
Code Microsoft Visual Basic .NET: Reloaded
Code (continued) Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded
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 Microsoft Visual Basic .NET: Reloaded