您的位置:程序门 -> .net技术 -> c#



输入输出流操作时丢失数据的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


输入输出流操作时丢失数据的问题[已结贴,结贴人:eggflowers]
发表于:2007-08-30 17:13:50 楼主
使用vs2005   c#
对文件进行读入输出,采用streamreader的readtoend()方法读入一个105k大小的dat文件(无中文字符),然后对字符流进行操作时发现怎么也对不上(用substring()),于是用streamwriter写了个文件比对,发现只有99k左右,其余的都没了……请教是怎么回事啊?
大概代码如下

streamreader   str   =   new   streamreader(filename,system.text.encoding.default);

string   temp   =   str.readtoend();

streamwriter   wrt   =   new   streamwriter( "c:\\test.dat ",false,system.text.encoding.default);

wrt.write(temp);

str.close();
srt.close();
发表于:2007-08-30 17:19:221楼 得分:0
test.dat   什么文件
发表于:2007-08-30 17:20:362楼 得分:0
换成以二进制读取test.dat;写也用二进制
发表于:2007-08-31 10:13:093楼 得分:0
二进制流读写是没问题,然而字符流操作时还是乱码和缺位啊
发表于:2007-08-31 10:28:074楼 得分:0
eof?
发表于:2007-08-31 18:06:135楼 得分:20
将system.text.encoding.default换成system.text.encoding.unicode试试

估计是字符编码不对


快速检索

最新资讯
热门点击