C# 关于文件的读写问题,急,在线等.......

来源:百度知道 编辑:UC知道 时间:2024/05/25 04:41:43
string FileName = @"E:\exercise\11.txt";
if (File.Exists(FileName))
{
FileStream fsMyfile = new FileStream(FileName, FileMode.Open ,FileAccess.Read);
BinaryReader br = new BinaryReader(fsMyfile);
br.BaseStream.Seek(0,SeekOrigin.Begin);
string aa=null;
while (br.PeekChar() != -1)
{
aa += "%" + br.ReadByte().ToString();
}
br.Close();
System.Console.WriteLine("编码{0}",aa);
以上是以二进制流读出文件,然后以字节的形式读取二进制流,并转换成了字符串,问题是:
怎么执行相反的操作啊????相反操作的二进制流写入文件后,得到原来的文件。
回答正确,一定追加。

//关于将文本写入文件的方法应该是比较简单的,这里的问题就是,你是想把
//文件转化为二进制后写入文件还是将文件直接写入文件。我先写一个看是不
//是你想要的。如果不是你在联系我
void WriteString(FileString fs,string str)
{
//首先你格式化后的字符中是以“%”分格每个字节的,
//string类中有一个split方法可以把字符按指定的符号
//分隔为一个字符串数组
string[] charArray = str.split('%');
//这里charArray中实际存放的每个元素是一个0-255之间的数值,这里我们
//首先要把它转化成一个byte类型
byte[] bytes = new byte[charArray.Length];
for(int i = 0;i < charArray.Length; i++)
{
bytes[i] = Convert.ToByte(charArray[i],10);
}
fs.Write(bytes,0,bytes.Length);
}

//我这没有编译器,你先用一下看下

用写的文件流:
StreamWriter
指定某个文件后,然后开始写的操作。
操作完毕后
可以打开此文件。即可。

aa += "%" + br.ReadByte().ToString();
你把这个改一下试试
aa=aa+"%" + br.ReadByte().ToString();

br.BaseStream.Seek(0,SeekOrigin.Begin);
我记得Seek里面不是有三个参数吗?

FileStream fsMyfile = new FileStream(FileName, FileMode.Write,FileAccess.Read);

br.WriteBytes();