C# 只是将xaml文件复制到clob中。为什么不工作

C# 只是将xaml文件复制到clob中。为什么不工作,c#,xaml,clob,C#,Xaml,Clob,我需要将一个.xaml文件的内容复制到一个字节clob中。这是我的密码。看起来我没有访问此文件的内容。谁能告诉我为什么。我不熟悉C#API,但我是一名程序员。选择4000是因为最大字符串大小限制,以防有人怀疑。我可能对zies等有错误。。但最主要的是我想将thje xaml文件的内容转换到clob中。谢谢 string LoadedFileName = @"C:\temp2\one.xaml";//Fd.FileName; byte[] clobB

我需要将一个.xaml文件的内容复制到一个字节clob中。这是我的密码。看起来我没有访问此文件的内容。谁能告诉我为什么。我不熟悉C#API,但我是一名程序员。选择4000是因为最大字符串大小限制,以防有人怀疑。我可能对zies等有错误。。但最主要的是我想将thje 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);
             }
string-LoadedFileName=@“C:\temp2\one.xaml”//Fd.FileName;
字节[]clobbyteotal;
FileStream stream=新文件流(LoadedFileName、FileMode.Open、FileAccess.Read、FileShare.ReadWrite);
如果(stream.Length%2>=1)
{
clobbyteotal=新字节[stream.Length+1];
}
else clobbyteotal=新字节[stream.Length];

对于(inti=0;i,如果您只需要将文本文件的内容读入字节数组,就可以这样做

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

//write byte data somewhere

此选项要短得多,自然适用于不太大的文件。

如果您只需要将文本文件的内容读入字节数组,只需执行此操作即可

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

//write byte data somewhere
这个短得多的选项,很适合不太大的文件。

有什么理由不使用它吗

有什么不使用的理由吗


没有4000个字符的最大字符串大小限制。您可能指的是字符串文字长度的限制:一个完全不同的问题。感谢您的澄清和我的c#启示。没有4000个字符的最大字符串大小限制。您可能指的是stri限制ng文字长度:一个完全不同的问题。谢谢你的澄清和我的启示。谢谢你的回答。你知道长度超过4000字节的文件的方法吗?我会马上尝试你的答案,但我仍然有超过4000字节的问题。@user1298925你从哪里得到这个神奇的stri 4000字节限制ngs/阵列?我认为字符串的限制应该更像2G字节。如果超过这个限制,您的设计肯定是错误的。@user1298925请参阅我对您的问题的评论:没有这样的限制。这很有效。非常感谢@Tigran、Eatlz和Codesparkel。我还了解到我对字符串大小限制的误解。再次感谢。谢谢谢谢你的回答。你知道处理超过4000字节的文件的方法吗?我会马上尝试你的答案,但我仍然有超过4000字节的问题。@user1298925字符串/数组的神奇的4000字节限制是从哪里来的?我相信字符串的限制应该更像2G字节。如果你超过了这个限制,你的design肯定是错的。@user1298925查看我对您的问题的评论:没有这样的限制。这很有效。非常感谢@Tigran、Eatlz和Codesparkel。我还了解到我对字符串大小限制的误解。再次感谢。在这种情况下没有区别。您想将文件内容读入字节数组,这意味着t您将文件视为二进制文件,因此这是完全正确的。或者我误解了问题。在这种情况下,没有区别。您希望将文件内容读入字节数组,这意味着您将文件视为二进制文件,因此这是完全正确的。或者我误解了问题。