0

one.xamlファイルの内容をバイトclobにコピーする必要があります。これは私のコードです。このファイルのコンテンツにアクセスしていないようです。誰か教えてもらえますか?私はC#APIを初めて使用しますが、プログラマーです。4000を選択するのは、誰かが不思議に思う場合に備えて、最大文字列サイズの制限によるものです。ziesなどに関するバグがあるかもしれませんが、主なことは、xamlファイルのコンテンツをclobに挿入したいということです。ありがとう。

           string LoadedFileName = @"C:\temp2\one.xaml";//Fd.FileName;
             byte[] clobByteTotal ;
             FileStream stream = new FileStream(LoadedFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
             if (stream.Length % 2 >= 1)
             {
                  clobByteTotal = new byte[stream.Length + 1];
             }
             else clobByteTotal = new byte[stream.Length];
             for (int i = 0; i <= stream.Length/4000; i++)
             {   
                 int x = (stream.Length / 4000 == 0) ? (int)stream.Length : 4000;
                 stream.Read(stringSizeClob, i*4000, x);
                 String tempString1 = stringSizeClob.ToString();
                 byte[] clobByteSection = Encoding.Unicode.GetBytes(stringSizeClob.ToString());
                 Buffer.BlockCopy(clobByteSection, 0, clobByteTotal, i * clobByteSection.Length, clobByteSection.Length);
             }
4

2 に答える 2

2

テキストファイルの内容をバイト配列に読み込む必要がある場合は、これを行うことができます

string xamlText = File.ReadAlltext(LoadedFileName );
byte[] xamlBytes = Encoding.Unicode.GetBytes(xamlText); //if this is a Unicode and not UTF8

//write byte data somewhere

このはるかに短いオプションは、当然、大きすぎないファイルに適しています。

于 2012-09-14T20:45:01.477 に答える
1

File.ReadAllBytesを使用しない理由はありますか?

byte[] xamlBytes = File.ReadAllBytes(path);
于 2012-09-14T20:51:26.857 に答える