File I/O

advertisement
File IO





File Input/Output
StreamWriter
StreamReader
Text Files
Binary Files

Significant programs will require you to
read/write data from data files



For complex applications you will use
Databases


Configuration files
Data Files
Microsoft SQL Server/Access
We will only concentrate on simple text files

Simple text files are nothing more than a series
of characters
Hello there. This is text in a text file
This is a second line in the same text file.

At the end of the file there is a character called
EOF (End Of File). You can’t see it

But you can test for it!!

To use a file, you must:

Include a special Imports statement at the top of your program:
Imports System.IO


Open the file
If the file doesn’t exist, you can’t open it
 Then you must create it


Data can be written to the file (always at the end of the file!!)
Data can be read from the end of the file
 Files can have Random Access to write/read from any point of
the file – beyond the scope of this class



These are called Binary files.
Can’t view them in an editor!!
When finished with the file, close it!!!

A Visual Basic Object that you declare (Dim) so
that you can write to a file
Dim filMyFile As StreamWriter

To create a new text file, use File.CreateText
filMyFile = File.CreateText(“myfile.txt”)

To add to an existing file, use AppendText
filMyFile = File.AppendText(“myfile.txt”)

Once the file is open, you write to it with the
Write/WriteLine statements
filMyFile.WriteLine(“This is a line of text!!”)



The Write statement does NOT add a newline after the text
(does not press the return key)
The WriteLine statement adds a newline after the text
To put a blank line in the file, just add a WRiteLine without
text
filMyFile.WriteLine(“”)


You must always close files when finished with
it
Use the Close statement
filMyFile.Close()

Only close files if they’re open

Once you close it, you can’t close it again until it’s
open

You can add text to an existing file



Open it with the AppendText command
Then just write to it as you would any other
text file
When finished, just close it as you would any
other text file
Dim filTestFile As StreamWriter
filTestFile = File.CreateText(“mytest.txt”)
filTestFile.WriteLine(“This is the first line of text!”)
filTestFile.WriteLine(“Here is the second!”)
filTestFile.WriteLine(“”)
filTestFile.WriteLine(“The previous line was blank!!”)
filTestFile.Close()
filTestFile = File.AppendText(“mytest.txt”)
filTestFile.WriteLine(“”)
filTestFile.WriteLine(“Oops. We forgot to add this line the first time!”)
filTestFile.Close()


Object in Visual Basic used to read text files
Declare the variable with a Dim statement
Dim filTestFile As StreamReader

To open the file, use the OpenText method:
filTestFile = File.OpenText(filTestFile)

To read data from the file, use the ReadLine
method
Dim txtALine As String
txtALine = filTestFile.ReadLine()

Data can ONLY be read in a forward direction

Check to see if a file exists or not (FileExists)
If File.Exists(strFileName) Then
‘ Do something here
End If

You can line things up nicely with vbTab

It is a string, which adds one tab to the text
lstMyListBox.items.Add(“Name: “ & vbTab & vbTab & “Bill Clinton”)
lstMyListBox.items.Add(“Name: “ & vbTab & vbTab & “George Bush”)

You can find if you’re at the end of the file with
Peek
Dim myFile As StreamReader
Dim strMyStr As String
myFile = File.OpenText(“grades.txt”)
Do Until myFile.Peek = -1
strMyStr = myFile.ReadLine()
lstMyListBox.Items.Add(strMyStr)
Loop
myFile.Close()
Download