Stream aaa = (System.IO.Stream)System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream("UpTransDataDDH.TD.DBF");
                StreamReader newread = new StreamReader(aaa, Encoding.ASCII);
                string bbb = newread.ReadToEnd();
                File.WriteAllText(@"TDTEMP.DBF", bbb);
TD.DBF为内嵌文件,其他内嵌文件写出都正常,但是就这个不行,大小一样,用fc比较内容有很大差异
TD.DBF文件地址
http://www.namipan.com/d/TD.DBF/e8619e066e5bf18f833bdd8b6b2a40394aaf4a5a81040000

解决方案 »

  1.   

    以上代码需要:
    using System.IO;就是将TD.DBF内嵌到C#程序中
    运行之后将TD.DBF写成一个新的文件,文件名任意,我写的TDTEMP.DBF
    但是写出的TDTEMP.DBF 与 内嵌的TD.DBF文件
    大小是一样的
    但是,用CF进行文件比较 两个文件内容有差异,一直困惑着
    CF TD.DBF TDTEMP.DBF
      

  2.   

    而在下如果更换的
    Encoding 的代码,无论换成什么都没有办法完全相同
    而acsii 是最接近的,可能是有序TD.DBF某些ACSII代码比较特殊在read的时候发生了变化
      

  3.   

    Encoding.ASCIIWriteAllText?  Binary?
      

  4.   

    感觉问题应该是出在
    StreamReader newread = new StreamReader(aaa, Encoding.ASCII);
    读取的时候就已经错误了
      

  5.   

    更换编号试试看,用DEFAULT试试
      

  6.   

    DEFALUT
    UTF-32
    UTF-16
    UTF-8
    UTF-7
    都是不行的所以才郁闷啊
      

  7.   

    再补充一下,比较的命令是
    DOS
    FC TD.DBF TDTEMP.DBF
    刚才写反了
      

  8.   

    用Dim write As New StreamWriter(file, System.Text.Encoding.Default)
    这个写试试
      

  9.   

    StreamWrite newfile = new StreamWrite("tdtemp.dbf",Encoding.Default);
    方式也用过,问题仍然存在
    目前个人观察的结果不是在写入的时候出现的问题,
    而是在StreamRead的时候
      

  10.   

    已经搞定了,用数组的方式一个一个读取byts这样就可以了
    真的很满发啊