1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận trình bày cách đọc ghi file của ngôn ngữ c kèm ví dụ minh họa

17 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cách Đọc Ghi File Của Ngôn Ngữ C#
Tác giả Trịnh Khang Bảo, Đặng Thanh Huy, Lê Phi Long, Nguyễn Trung Nguyên
Trường học Trường Đại Học Kinh Tế Thành Phố Hồ Chí Minh
Chuyên ngành Cơ Sở Lập Trình
Thể loại Tiểu luận
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,82 MB

Nội dung

Ghi/ Đọc file text a Ghi dữ liệu vào fileCú pháp để ghi dữ liệu vào file:string filename = “Notes.txt”;StreamWriter tex = new StreamWriterfilenametex.Write“Chao mung ban den voi C#”; Sau

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KINH TẾ THÀNH PHỐ HỒ CHÍ MINH

TIỂU LUẬN CUỐI KỲ MÔN CƠ SỞ LẬP TRÌNH LỚP HP: 22C1INF50900507

PHÒNG: N1-303 DANH SÁCH THÀNH VIÊN NHÓM

1 Trịnh Khang Bảo – 31211023332 – SĐT: 0822558822

2 Đặng Thanh Huy – 31211026749

3 Lê Phi Long – 31211027154

4 Nguyễn Trung Nguyên – 31211026558

Trang 2

ĐỀ BÀI

Câu 1 Trình bày cách đọc, ghi file của ngôn ngữ C#, kèm ví dụ :

minh họa.

Có 2 cách ghi và đọc dữ liệu vào files: kiểu file text và kiểu file nhị phân Khi viết chương trình để lưu dữ liệu vào file, ta phải thêm dòng tiêu đề:

using System.IO;

1 Ghi/ Đọc file text

a) Ghi dữ liệu vào file

Cú pháp để ghi dữ liệu vào file:

string filename = “Notes.txt”;

StreamWriter tex = new StreamWriter(filename)

tex.Write(“Chao mung ban den voi C#”);

Sau khi ghi xong cần phải đóng file lại

tex.Close();

b) Đọc dữ liệu từ file

string filename= “Notes.txt”;

StreamReader tex1 = new StreamReader(filename);

tex1.ReadLine();

tex1.Close();

Ví dụ 1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace COSOLAPTRINH

{

internal class Program

{

static void Main(string[] args)

{

string myfile = "Notes.txt";

Trang 3

//ghi file

int a = 2022;

double b =20.22 ;

char c = ;'A'

StreamWriter SW = new StreamWriter(myfile); SW.WriteLine("Hello World");

SW.WriteLine("Doc ghi file trong C#");

SW.WriteLine(a);

SW.WriteLine(b);

SW.WriteLine(c);

SW.Close();

//doc file

Console.Read();

Console.WriteLine("Du lieu doc tu file la : "); StreamReader SR = new StreamReader(myfile); string input ;

while ((input = SR.ReadLine()) != null)

{

Console.WriteLine(input);

}

Console.WriteLine("Ket thuc chuong trinh"); SR.Close();

Console.ReadLine();

}

}

Trang 4

Kết quả:

Du lieu doc tu file la:

Hello World

2022

20.22

A

Ket thuc chuong trinh

Too long to read on your phone? Save

to read later on your computer

Save to a Studylist

Trang 5

Ngoài ra, còn có một cách khác để ghi dữ liệu vào file Trước hết ta phải khai báo biến file:

StreamWrite SW;

Tạo file text nhờ hàm CreateText();

static string myfile = “Notes.txt”;

SW = File.CreateText(myfile);

Ghi dữ liệu vào file:

SW.WriteLine(“Hello World”);

Sau khi ghi xong cần phải đóng file lại

SW.Close();

Đọc dữ liệu từ file:

Khai báo đối tượng file:

StreamReader SR;

Mở file:

string input;

SR = File.OpenText(myfile);

Đọc file:

Input = SR.ReadToEnd();

Hiển thị dữ liệu sau khi đọc:

Console.WriteLine(input);

Ví dụ 2:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

Trang 6

namespace COSOLAPTRINH

{

internal class Program

{

static void Main(string[] args)

{

string myfile = "Notes.txt";

//ghi file

StreamWriter SW;

SW = File.CreateText(myfile);

SW.WriteLine("Welcome to UEH");

SW.WriteLine("Nhom 7 Khoa BIT");

SW.Close();

//doc file

Console.WriteLine("Du lieu doc tu file la : "); StreamReader SR = new StreamReader(myfile); string input ;

SR = File.OpenText(myfile);

input = SR.ReadToEnd();

Console.WriteLine(input);

Console.WriteLine("Ket thuc chuong trinh"); SR.Close();

Console.ReadLine();

}

}

}

Trang 7

Kết quả:

Du lieu doc tu file la:

Welcome to UEH

Nhom 7 Khoa BIT

Ket thuc chuong trinh

Ta cũng có thể đọc file theo đoạn mã dưới đây:

StreamReader SR;

string input;

SR = File.OpenText(myfile);

while (true)

{

if (input == null) break;

Console.WriteLine(input);

}

SR.Close();

Trang 8

Ví dụ 3:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace COSOLAPTRINH

{

internal class Program

{

static void Main(string[] args)

{

//ghi file

FileInfo myfile = new FileInfo("Notes.txt"); StreamWriter SW = myfile.CreateText();

SW.Write(SW.NewLine);

SW.WriteLine("Welcome to UEH ");

SW.WriteLine("Day la nhom 7 EE003"); SW.Close();

Console.Read();

//doc file

Console.WriteLine("Du lieu doc tu file la : "); StreamReader SR = File.OpenText("Notes.txt"); string input = null;

while ((input = SR.ReadLine()) != null)

{

Console.WriteLine(input);

}

SR.Close();

Console.ReadKey();

}

}

}

Trang 9

Kết quả:

Du lieu doc tu file la: Welcome to UEH Day la nhom 7 EE003

Trang 10

2 Đọc/ Ghi file Nhị phân

Tập tin nhị phân là một tập tin không phải là tập tin văn bản, tập tin được lưu trữ ở dữ liệu thô gồm các số 0 và 1

Việc ghi/ đọc dữ liệu của file nhị phân có nhiều ưu điểm hơn file text vì

có tính bải mật cao hơn Sau đây là cách ghi/ đọc dữ liệu cho một byte và cách ghi/ đọc dữ liệu cho một đối tượng chứa nhiều trường dữ liệu

a) Ghi/ Đọc dữ liệu file kiểu byte:

- Ghi dữ liệu vào file kiểu byte:

+ Giả sử ta khai báo một biến mảng kiểu byte:

byte [] a = { 255, 47, 29, 199, 99 };

+ Khai báo đối tượng để ghi dữ liệu vào file “testfile.dat” ở ổ đĩa C:

FileStream(“test.dat”, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);

+ Thực hiện quá trình ghi các phần tử của mảng số a có kiểu byte:

foreach(byte b in a)

{

np.WriteByte(b);

}

Hoặc np.Write(a);

+ Sau khi ghi xong, ta phải đóng file lại

np.Close() ;

- Đọc dữ liệu từ file kiểu byte :

+ Mở file để đọc :

FileInfo n = new FileInfo(“test.dat”);

Stream st = testfile.OpenRead();

+ Sử dụng vòng lặp để đọc:

int i;

while(true)

{

i= st.ReadByte();

if (i == -1) break;

Console.Write(“{0,4}”, i);

}

+ Đóng file sau khi đọc xong:

st.Close();

Trang 11

Ví dụ 4: Ghi và đọc các số có kiểu byte (giá trị 0 – 255)

using System;

using System.IO;

using System.Reflection.Metadata;

using System.Text;

namespace COSOLAPTRINH

{

internal class Filebin

{

static void Main(string[] args)

{

byte[] a = { 255, 47, 29, 199, 99 };

FileStream ab = new FileStream("test.dat", FileMode.OpenOrCreate, FileAccess.Write, FileShare.None); ab.Write(a);

ab.Close();

Console.ReadLine();

//Doc du lieu tu file

FileInfo b = new FileInfo("test.dat");

Stream cd = b.OpenRead();

int i;

while true ( )

{

i = cd.ReadByte();

(i == -1) if break;

Console.Write("{0, 4}", i);

}

cd.Close();

Console.ReadLine();

}

}

}

Trang 12

Kết quả:

255 47 29 199 99

b) Ghi/ đọc dữ liệu của nhiều kiểu dữ liệu khác nhau bằng file nhị phân.

- Ghi dữ liệu từ file nhị phân

String myfile = “c:\\testfile.dat”;

fileStream myfile;

string name; //dữ liệu thành viên

double tienluong; //dữ liệu thành viên

Trang 13

// Khai báo đối tượng wf cho việc ghi vào file nhị phân

BinaryWrite wf = new BinaryWrite(myfile);

//Các hàm Write () để ghi từng thành viên

Wf.Write(name);

wf.Write(tienluong);

- Đọc dữ liệu từ file nhị phân:

+ Khai báo file cần đọc

FileStream myfile;

+ Khai báo đối tượng rf cho việc đọc:

BinaryReader rf = new BinaryReader(myfile);

+ Các hàm để đọc file nhị phân:

Name = rf.ReadString();

Tienluong = rf.ReadDouble();

+ Phụ thuộc vào kiểu khai báo từng dữ liệu mà ta có các hàm đọc dữ liệu khác nhau

Byte b; b= rf.ReadByte();

Char ch; ch = rf.ReadChar();

Decimal d1; d1= rf.ReadDecimal();

Double d2; d2 = rf.ReadDouble();

Float f; f = rf.ReadFSingle();

Int a; a = rf.ReadInt32();

Long b; b=rf.ReadInt64();

Sbyte sb; sb= rf.ReadSByte();

Uint ui; ui= rf.ReadUInt32();

Ulong ul ; ul= rf.ReadUInt64() ;

Ví dụ 5 :

using System;

using System.IO;

using System.Reflection.Metadata;

using System.Text;

namespace Docghifile

{

internal class Filebin

{

Trang 14

static void Main(string[] args)

{

Console.WriteLine("Vi du minh hoa doc va ghi binary file trong C#");

BinaryWriter bw;

BinaryReader br;

int i = 19;

double d = 1.412;

bool b = true;

string s = "Ghi va doc binary file";

//tao file co ten la mydata

try

{

bw = new BinaryWriter(new FileStream("mydata",

FileMode.Create));

}

catch (IOException e)

{

Console.WriteLine(e.Message + "\n Khong the tao file."); return;

}

//ghi du lieu vao file

try

{

bw.Write(i);

bw.Write(d);

bw.Write(b);

bw.Write(s);

}

catch (IOException e)

{

Console.WriteLine(e.Message + "\n Khong the ghi du lieu vao file.");

return;

Trang 15

}

bw.Close();

//doc file

try

{

br = new BinaryReader(new FileStream("mydata", FileMode.Open));

}

catch (IOException e)

{

Console.WriteLine(e.Message + "\n Khong the mo file."); return;

}

try

{

i = br.ReadInt32();

Console.WriteLine("Du lieu int: {0}", i);

d = br.ReadDouble();

Console.WriteLine("Du lieu double: {0}", d);

b = br.ReadBoolean();

Console.WriteLine("Du lieu boolean: {0}", b);

s = br.ReadString();

Console.WriteLine("Du lieu string: {0}", s);

}

catch (IOException e)

{

Console.WriteLine(e.Message + "\n Khong the doc file."); return;

}

br.Close();

Console.ReadKey();

}

}

}

Trang 17

Kết quả :

Ví dụ minh hoa doc va ghi binary file trong C#

Du lieu int : 19

Du lieu double : 1.412

Du lieu boolean : True

Du lieu string : Ghi va doc binary file

Ngày đăng: 20/06/2024, 16:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w