关于文件访问的问题,望高手不吝指教!100送

vbcb 2003-09-15 11:12:25
今日自己在写代码的时候碰到一个问题,就是如何把文件(任意文件)作为二进制文件读取,并且可以操作其中的字节!这个问题我搞了一个晚上,死活不能在帮助里找到答案,无奈请教C#的高手,望帮助我解决这个问题,小弟感激不尽!
...全文
41 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjcccc 2003-09-15
  • 打赏
  • 举报
回复
kao,老是打错字,怎么就没个好的拼音输入法呢?改正错字:
不经过内存,你怎么读,又读到哪儿进行处理呀?
jjcccc 2003-09-15
  • 打赏
  • 举报
回复
想直接对文件的某个指定的位置进行操作而不用拷贝到内存进行!
=》不经过内存,你怎么读,有读到哪儿进行出来呀?
vbcb 2003-09-15
  • 打赏
  • 举报
回复
还有人可以回答吗?拜托了啊
vbcb 2003-09-15
  • 打赏
  • 举报
回复
谢谢各位以上的解答,但是我想直接对文件的某个指定的位置进行操作而不用拷贝到内存进行!我想得到这样的方法
vbcb 2003-09-15
  • 打赏
  • 举报
回复
首先谢谢 huan_jinwu(金屋藏娇,得抱源码归) ,你的方法可以实现读取,但我还是不知道如何指定文件中的某个位置的字节进行操作,当然如果指定一个位置POSITON变量用你的代码的
int a;
while(br.PeerChar() != -1)
{
++a;
if (a==POSITON)
{
byte = br.ReadByte();
...//操作流
}
}
但是如果我想直接操作二进制文件上的某个位置的值,以上的方法用覆盖原文件这样可以达到效果,但是总觉得有另外直接进行文件的操作而不用拷贝到内存进行!
文丹传 2003-09-15
  • 打赏
  • 举报
回复
BinaryReader和BinaryWriter类,如果有中文的话,最好先进行UNICODE编码转换,要不会乱码。如果单纯对字节操作用ReadByte,WriteByte就行了,这方法很多IO类里都有.
jjcccc 2003-09-15
  • 打赏
  • 举报
回复
用BinaryReader和BinaryWriter类
huan_jinwu 2003-09-15
  • 打赏
  • 举报
回复
using System.IO;
huan_jinwu 2003-09-15
  • 打赏
  • 举报
回复
FileStream fs = new FileStream(fileName,FileMode.Open,FileAccess.ReadWrite);
long len = fs.Lenght;//取得流的长度。
BinaryReader br = new BinaryReader( fs);

byte buffer ;
while(br.PeerChar() != -1)
{
byte = br.ReadByte();
...//操作流
}
vbcb 2003-09-15
  • 打赏
  • 举报
回复
那因该用那个类来操作呢?
像File.Open他的参数只有FileMode,并没有打开方式(OpenMode)的参数
而FileStream的参数也只有FileMode,也没有打开方式(OpenMode)的参数
至于Stream对象更没有打开方式(OpenMode)的参数
cnhgj 2003-09-15
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2181/2181679.xml?temp=.9576074
cnhgj 2003-09-15
  • 打赏
  • 举报
回复
OpenMode.Binary就是指定以二进制读取啊
vbcb 2003-09-15
  • 打赏
  • 举报
回复
给思路也行,给事例代码最好,再次感谢
vbcb 2003-09-15
  • 打赏
  • 举报
回复
呵呵,现在问题解决了。谢谢各位了,结贴!

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧