mis316 – business application development – chapter 14 – files and streams 1microsoft visual...

30
MIS316 – BUSINESS APPLICATION DEVELOPMENT Chapter 14 Files and Streams 1 Microsoft Visual C# 2012, Fifth Edition

Upload: cornelia-pope

Post on 22-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

MIS316 – BUSINESS APPLICATION DEVELOPMENT

– Chapter 14– Files and Streams

1Microsoft Visual C# 2012, Fifth Edition

Page 2: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Objectives

• Learn about computer files and the File and Directory classes

• Understand file data organization• Understand streams • Write to and read from a sequential access text file• Search a sequential access text file• Understand serialization and deserialization

2Microsoft Visual C# 2012, Fifth Edition

Page 3: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Files and the File and Directory Classes

• Temporary storage– Usually called computer memory or random access

memory (RAM)– Variables use temporary storage– Volatile

• Permanent storage– Data is not lost when a computer loses power– Nonvolatile– The program is saved to a disk

3Microsoft Visual C# 2012, Fifth Edition

Page 4: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Files and the File and Directory Classes (cont’d.)

• Computer file– A collection of information stored on a nonvolatile device in

a computer system– Files exist on permanent storage devices

• Text files– Contain information in ASCII or Unicode characters

• Can be read in a plain text editor• Can be data files or source code files (e.g., C# source code)

• Binary files– Store software, images, music, etc.

4Microsoft Visual C# 2012, Fifth Edition

Page 5: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Files and the File and Directory Classes (cont’d.)

• Characteristics of a file– Occupies space on a section of a storage device– Has a name, a size, a type, and a specific time of creation

• Write to the file– Store data in a file on a persistent storage device

• Read from the file– Copy data from a file on a storage device into RAM

• Computer users organize their files into folders or directories

5Microsoft Visual C# 2012, Fifth Edition

Page 6: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Files and the File and Directory Classes (cont’d.)

• Path– A combination of the disk drive plus the complete hierarchy

of directories in which a file resides• Example:

C:\C#\Chapter.14\Data.txt

• C# provides built-in classes named File and Directory– Contain methods to help you manipulate files and their

directories• Access information about files• Create, delete, or move files

6Microsoft Visual C# 2012, Fifth Edition

Page 7: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Using the File and Directory Classes

• File class– Contains methods to access information about files– Contained in the System.IO namespace

• Directory class– Provides information about directories or folders

7Microsoft Visual C# 2012, Fifth Edition

Page 8: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Using the File and Directory Classes (cont’d.)

8Microsoft Visual C# 2012, Fifth Edition

Page 9: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

9Microsoft Visual C# 2012, Fifth Edition

Page 10: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

10Microsoft Visual C# 2012, Fifth Edition

Using the File and Directory Classes (cont’d.)

Page 11: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

11Microsoft Visual C# 2012, Fifth Edition

Using the File and Directory Classes (cont’d.)

Page 12: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

12Microsoft Visual C# 2012, Fifth Edition

Page 13: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

13Microsoft Visual C# 2012, Fifth Edition

Using the File and Directory Classes (cont’d.)

Page 14: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding File Data Organization

• Businesses store data in a relationship known as the data hierarchy

• Character– Any of the letters, numbers, or other special symbols (such

as punctuation marks) that comprise data– Characters are made up of bytes containing eight (8) bits

• ASCII characters contain one (1) byte• Unicode characters contain two (2) bytes

14Microsoft Visual C# 2012, Fifth Edition

Why?

Page 15: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding File Data Organization (cont’d.)

15Microsoft Visual C# 2012, Fifth Edition

Page 16: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

• Field– A character or group of characters that has some meaning

• Record– A collection of related fields that contain data about an entity

• Data files– Consist of related records

• Sequential access file– Each record in the file is read in order based on its relative

position– Records can be stored in order based on a value in the record

16Microsoft Visual C# 2012, Fifth Edition

Understanding File Data Organization (cont’d.)

Page 17: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

• A C# application opens a file by creating an object and associating a stream of bytes with that object

• When you finish using a file, the program should close the file– Not closing a file may make it inaccessible– Not closing an output file can result in data not being

written to the file

17Microsoft Visual C# 2012, Fifth Edition

Understanding File Data Organization (cont’d.)

Page 18: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams

• Stream– Functions as a pipeline or channel between an input device

and an application, and potentially an output device

18Microsoft Visual C# 2012, Fifth Edition

Page 19: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

19Microsoft Visual C# 2012, Fifth Edition

• Default stream objects in C#:– Console.In

• Accepts data from the keyboard

– Console.Out• Allows a program to produce output on the screen

– Console.Error• Allows a program to write error messages to the screen

Since we create C# programs that interface with forms, we will not use the Console for input or output

Page 20: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

• Most streams flow in only one direction• File processing classes include:– StreamReader for text input from a file– StreamWriter for text output to a file– FileStream for both input from and output to a file

20Microsoft Visual C# 2012, Fifth Edition

Page 21: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

21Microsoft Visual C# 2012, Fifth Edition

Page 22: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

22Microsoft Visual C# 2012, Fifth Edition

Page 23: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

23Microsoft Visual C# 2012, Fifth Edition

Page 24: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Understanding Streams (cont’d.)

24Microsoft Visual C# 2012, Fifth Edition

Page 25: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Writing and Reading a Sequential Access File

• C# uses files only as streams of bytes• When you write a program to store a data file, you

must dictate the form the file will take

25Microsoft Visual C# 2012, Fifth Edition

Page 26: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

• Delimiter– A character used to specify the boundary between records

and, potentially, fields in text files

• When you write data to a text file:– You can separate the fields with a delimiter– Delimiters are needed when fields are not fixed in size and

position—field size varies– CSV files (comma-separated value files) are delimited files

26Microsoft Visual C# 2012, Fifth Edition

Writing Data to a Sequential Access Text File

Page 27: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Reading from a Sequential Access Text File

• Reading from a text file is similar to writing to a text file

• Classes used:– FileStream– StreamReader

31Microsoft Visual C# 2012, Fifth Edition

Page 28: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

32Microsoft Visual C# 2012, Fifth Edition 32

Page 29: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Reading from a Sequential Access Text File (cont’d.)

33Microsoft Visual C# 2012, Fifth Edition

Page 30: MIS316 – BUSINESS APPLICATION DEVELOPMENT – Chapter 14 – Files and Streams 1Microsoft Visual C# 2012, Fifth Edition

Summary

• Data can be written to a StreamWriter object using the WriteLine() method

• Data can be read from a StreamReader object using the ReadLine() method

• When you read data from a sequential file, subsequent records are read in order

46Microsoft Visual C# 2012, Fifth Edition