Upload
lavey
View
14
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Sequential Access Files and Error Handling
Chapter Microsoft Visual Basic .NET: Reloaded
1
This is from an old VB text but coding conventions still apply
2Microsoft Visual Basic .NET: Reloaded
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
3Microsoft 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
4Microsoft 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
5Microsoft Visual Basic .NET: Reloaded
Using Sequential Access Files
6Microsoft Visual Basic .NET: Reloaded
HOW TO…
7Microsoft 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
8Microsoft Visual Basic .NET: Reloaded
HOW TO…
9Microsoft 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
10Microsoft Visual Basic .NET: Reloaded
HOW TO…
11Microsoft Visual Basic .NET: Reloaded
Opening a Sequential Access file (continued)
12Microsoft Visual Basic .NET: Reloaded
Determining Whether a File Exists
13Microsoft 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
14Microsoft Visual Basic .NET: Reloaded
HOW TO…
15Microsoft 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
16Microsoft Visual Basic .NET: Reloaded
HOW TO…
17Microsoft 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
18Microsoft Visual Basic .NET: Reloaded
HOW TO…
19Microsoft Visual Basic .NET: Reloaded
Closing a Sequential Access File
• Close method• Closes file associate with stream variable
20Microsoft 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
21Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued)
22Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued)
23Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued)
24Microsoft Visual Basic .NET: Reloaded
HOW TO…
25Microsoft Visual Basic .NET: Reloaded
The Friends Application (continued)
• btnRead_Click event • Code causes name read from file
to be displayed in a message box
26Microsoft 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
27Microsoft Visual Basic .NET: Reloaded
HOW TO…
28Microsoft Visual Basic .NET: Reloaded
HOW TO…(continued)
29Microsoft Visual Basic .NET: Reloaded
Using a Try/Catch Block (continued)
30Microsoft Visual Basic .NET: Reloaded
Using a Try/Catch Block (continued)
31Microsoft 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
32Microsoft Visual Basic .NET: Reloaded
HOW TO…
33Microsoft Visual Basic .NET: Reloaded
HOW TO…
34Microsoft 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
35Microsoft Visual Basic .NET: Reloaded
TOE Chart
36Microsoft Visual Basic .NET: Reloaded
TOE Chart (continued)
37Microsoft Visual Basic .NET: Reloaded
User Interface
38Microsoft Visual Basic .NET: Reloaded
Objects, Properties, and Settings
39Microsoft Visual Basic .NET: Reloaded
Objects, Properties, and Settings (continued)
40Microsoft Visual Basic .NET: Reloaded
Tab Order
41Microsoft Visual Basic .NET: Reloaded
PseudocodebtnExit Click event procedure
close the applicationbtnWrite Click event procedure
open pao.txt file for appendif txtparty control contains D, R, or I
Write contents of txtParty control, a comma, and txtAge to pao.txt file
elseDisplay message prompting user to enter D,R, or I
End ifclose the pao.txt fileClear contents of txtParty and txtAge controlsSend focus to txtParty controlInclude a Try/Catch block to catch general errors displaying error description in a messagebox
42Microsoft Visual Basic .NET: Reloaded
Pseudocode (continued)
btnDisplay click event procedureopen pao.txt file for inputrepeat until no more characters to read
read record from fileif first character is letter D
add 1 to Democrat counterelse if first character is R
add 1 to Republican counterelse add 1 to Independent counterend if
end tryclose pao.txt file
43Microsoft 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
44Microsoft Visual Basic .NET: Reloaded
Code
45Microsoft Visual Basic .NET: Reloaded
Code (continued)
46Microsoft 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
47Microsoft 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
48Microsoft 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