0% found this document useful (0 votes)
54 views31 pages

Files and Streams

The document discusses files and streams in .NET. It defines different types of files like text files and binary files. It explains how to work with files using classes like File, Directory, StreamReader and StreamWriter. It provides examples of reading, writing and processing text files sequentially in different formats like free-form, delimited and fixed-width files.

Uploaded by

ghgh fghghh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views31 pages

Files and Streams

The document discusses files and streams in .NET. It defines different types of files like text files and binary files. It explains how to work with files using classes like File, Directory, StreamReader and StreamWriter. It provides examples of reading, writing and processing text files sequentially in different formats like free-form, delimited and fixed-width files.

Uploaded by

ghgh fghghh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

Files and Streams

What is a file?

 Up until now, any stored data within a program is


lost when the program closes.
 A file is a permanent way to store data
Introduction to Files and Streams

 System.IO classes are used to work with files and


streams
File - block of information stored on disk or another media
Text file - file that contains lines of written information that
can be sent directly to the screen or printer
Binary file - file that contains bits that do not necessarily
represent printable text Examples: Word file, machine
language file
 You can work with two kinds of files – text files
(containing only characters) and binary files
Text vs Binary Files

 A text file displayed in a text editor

 A binary file displayed a text editor


Introduction to Processing Textual Data

 One way to process textual files is from beginning to


end using sequential access .This type of file is called
a sequential file
Sequential files are useful for:
 Storing text
 Easy implementation in programs
 Where real-time editing of file(s) is not required
Introduction to Processing Textual Data

 Sequential files can be categorized into roughly three


types
1. Free-form files have no particular format
2. Fields in a delimited file are separated with a special character
called a delimiter

3. In a fixed-field file, each field occupies the same character


positions in every record
Introduction to Processing Textual Data

 Sequential files can be read one character at a time,


one line at a time, or the entire file can be read at
once
 Sequential files are typically read into a string or an
array
The Directory Class

 We need to add
Imports System.IO
 Common methods of the Directory class
 Exists (path designation)
 CreateDirectory (path designation)
 Delete (path designation)
 Code that uses some of the Directory methods
Dim dir As String = "C:\VB 2005\Files\"
If Not Directory.Exists(dir) Then
Directory.CreateDirectory(dir)
End If
The Directory Class
The Directory Class

 The default location where the files we create are


saved is the bin directory of the Windows
Application with which we are working.
The File Class

 Common methods of the File class


 Exists (path)
 Delete (path)
 Copy (source, dest)
 Move (source, dest)
 Code that uses some of the File methods
Dim dir As String = "C:\VB 2005\Files\"
Dim path As String = dir & "Products.txt"
If File.Exists(path) Then
File.Delete(path)
End If
The File Class
The File Class
Files are manipulated in 3 stages

 File Open : If the file does not exist it is created


and then opened by the operating system. A
portion of memory (RAM) is reserved by the
Operating System.
 Process File : When a file is open it can be written
to or read from.
 Close File : When a file has been opened and
processed it must then be closed. The Operating
system will then release the memory.
The Stream-File Connection

 To perform file processing in Visual Basic,


namespace System.IO must be referenced.
 This namespace includes definitions for stream
classes such as:
 FileStream
 StreamReader
 StreamWriter
 BinaryReader
 BinaryWriter
 Files are opened by creating objects of these stream
classes.
Establishing Connections

 There are several different ways to establish file-


stream connections
Create a StreamReader object
Create a StreamWriter object
Create a FileStream object

 The results of using these techniques are similar –


they all result in the creation of (or opening of) a
stream (fs) against which all subsequent file
operations are written
The StreamReder Class

 The StreamReader and StreamWriter classes belong to the


System.IO namespace
 The StreamReader constructor accepts one argument – the
path and filename of the sequential file to open.
Dim CurrentReader As StreamReader = New _
System.IO.StreamReader("C:\Demo.txt")
 The Close method closes a sequential file.
 Always close files when processing is complete to prevent loss of
data
 Open files also consume system resources
Example:
CurrentReader.Close()
The StreamReder Class

 The Read method reads a single character or many


characters. Without arguments, the Read method
returns the Integer code point of the character read
 The ReadLine method reads a record. The carriage
return at the end of the record is discarded. The
method returns a String containing the characters
read.
 The ReadToEnd method reads from the current file
position to the end of the file. The method returns a
String containing the characters read
Example read()
Example :Reading Entire Content of File
Reading a Sequential File One Record at a Time
The StreamWriter Class

 The StreamWriter class of the System.IO namespace


writes a sequential file
 The constructor accepts one argument – the file to write
 Example:

Dim CurrentWriter As New _


System.IO.StreamWriter("C:\Demo.txt")
' Statements to write the file.
CurrentWriter.Close()
The StreamWriter Class

 The NewLine property contains the character(s) that mark


the end of the line
 The Close method closes the sequential file
 It's imperative to close a sequential file once writing is complete
to prevent loss of data
 The Write method writes a character or array of characters
 The WriteLine method writes data terminated by the
character(s) stored in the NewLine property
 If the data type passed to Write or WriteLine is not a
string, these methods will call toString
 Individual variables must be concatenated and separators must
be used
StreamWriter Example
StreamWriter Example
Imports System.IO
Module Module1
Sub Main()
Dim path As String = "C:\testfolder\"

Dim filename As String = path & "test.txt"

Dim writer As New System.IO.StreamWriter(filename)


Dim filecontent As String
filecontent = Console.ReadLine()

writer.WriteLine(filecontent)

writer.Close()
End Sub
End Module
Writing a Freeform File

 A freeform file can be written all at once as follows:

Dim StringData As String = "Freeform text"


Dim CurrentWriter As New _
System.IO.StreamWriter("C:\Demo.txt")
CurrentWriter.Write(StringData)
CurrentWriter.Close()
Writing a Delimited File
Example
Imports System.IO
Public Class Form1
Dim filecontent As String
Dim fn As String = "test1.txt"
Dim fs As FileStream
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
fs = New FileStream(fn, FileMode.OpenOrCreate, FileAccess.Write)
Dim writer As New StreamWriter(fs)
filecontent = TextBox1.Text
writer.WriteLine(filecontent)
writer.Close()
fs.Close()
MsgBox("writing complete")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
fs = New FileStream(fn, FileMode.Open, FileAccess.Read)
Dim reader As New StreamReader(fs)
filecontent = reader.ReadLine()
TextBox2.Text = filecontent
reader.Close()
fs.Close()
End Sub
End Class
if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

You might also like