c# 以二进制读取文本文件
程序员文章站
2023-11-25 12:32:34
复制代码 代码如下:using system; using system.io; public class fileapp { &nbs...
复制代码 代码如下:
using system;
using system.io;
public class fileapp
{
public static void main()
{
// 在当前目录创建一个文件myfile.txt,对该文件具有读写权限
filestream fsmyfile = new filestream("myfile.txt" , filemode.create, fileaccess.readwrite);
// 创建一个数据流写入器,和打开的文件关联
streamwriter swmyfile = new streamwriter(fsmyfile);
// 以文本方式写一个文件
swmyfile.writeline("hello, world");
swmyfile.writeline("abcdefghijklmnopqrstuvwxyz");
swmyfile.writeline("abcdefghijklmnopqrstuvwxyz");
swmyfile.writeline("0123456789");
// 冲刷数据(把数据真正写到文件中去)
// 注释该句试试看,程序将报错
swmyfile.flush();
// 以文本方式读文件
// 创建一个数据流读入器,和打开的文件关联
streamreader srmyfile= new streamreader(fsmyfile);
// 把文件指针重新定位到文件的开始
srmyfile.basestream.seek(0, seekorigin.begin);
// 打印提示信息
console.writeline("****************以文本方式读文件*********************");
// 打印文件文本内容
string s1;
while((s1 = srmyfile.readline())!=null)
{
console.writeline(s1);
}
console.writeline();
// 以文本方式读文件结束
// 以二进制方式读文件
// 创建一个二进制数据流读入器,和打开的文件关联
binaryreader brmyfile= new binaryreader (fsmyfile);
// 把文件指针重新定位到文件的开始
brmyfile.basestream.seek(0, seekorigin.begin);
// 打印提示信息
console.writeline("****************以二进制方式读文件*********************");
// 打印文件文本内容
byte b1;
while(brmyfile.peekchar()>-1)
{
b1=brmyfile.readbyte();
// 13为"\n",表示回车;10为"\r",表示换行
if(b1 != 13 && b1 != 10)
{
console.write("{0}",b1.tostring());
console.write(".");
}
else
{
console.writeline();
}
}
console.writeline("\n");
// 以二进制方式读文件结束
// 关闭以上new的各个对象
brmyfile.close();
srmyfile.close();
fsmyfile.close();
// 读取文件属性
// 打印提示信息
console.writeline("****************读取文件属性*********************");
fileinfo fimyfile=new fileinfo("myfile.txt");
console.writeline("文件名 : {0}",fimyfile.name);
console.writeline("文件名(含路径) : {0}",fimyfile.fullname);
console.writeline("文件大小(bytes) : {0}",fimyfile.length);
console.writeline("文件创建时间 : {0}",fimyfile.creationtime);
}
}