C# 指定的路径、文件名或两者都太长

C# 指定的路径、文件名或两者都太长,c#,.net,C#,.net,我试图使用byte[]变量读取一个长字符串,但它给了我以下错误: {System.IO.PathTooLongException:指定的路径和/或文件名太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符 谁能帮忙,谢谢 请查看下面的代码。在第二行我得到了上面的错误 string filename = "Ak8AdFf/gICvXL9Ls3fDVMlLk7WbnddtL6GsobiBzXVLs4SurY6vhsOuMIRduX+PYmY1TYRmh026PbZlw0TNU711

我试图使用byte[]变量读取一个长字符串,但它给了我以下错误:

{System.IO.PathTooLongException:指定的路径和/或文件名太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符

谁能帮忙,谢谢

请查看下面的代码。在第二行我得到了上面的错误

string filename = "Ak8AdFf/gICvXL9Ls3fDVMlLk7WbnddtL6GsobiBzXVLs4SurY6vhsOuMIRduX+PYmY1TYRmh026PbZlw0TNU711pLXGdc1qNqusr7if2WreciqKMJixqceH5WgrcTR2O5NAuXa/l8apkcSd3VQ/dVm3YJ7HxNSp1LvXi+CFWoR5nlNpeIffueCo6Kl1b4JxgGWSeqiBj1qbSKVQs0KoU7tDxUetbDodIai69vd8jSAIIKCEKvXL6BBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAACCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
byte[] bmpbyteArray = System.IO.File.ReadAllBytes(filename);

您误解了
File.ReadAllBytes()
方法的参数。如中所述,签名如下:

public static byte[] ReadAllBytes(
    string path
)

该参数是指向二进制文件的路径,而不是二进制文件本身。因此,文件名不能超过特定的字符长度。

如果您没有读取文件,则不需要使用
System.IO.file
类。看起来您只是试图获取字符串的字节数组。您需要使用n编码类,例如
System.Text.Encoding

var bts = System.Text.Encoding.ASCII.GetBytes(filename.ToCharArray());

@un lucky的可能副本看起来像一个ssh密钥,文件的内容也是如此-奇怪的只是结尾,但是,好像有人手动添加了额外的字符。在你提问之前,应该停下来想一想。文件名到底是什么意思?用英语来说?它当然是指文件名。你本可以避免问这个问题想一想就想一个连珠炮似的问题。不要问问题那么快,在问之前试着自己解决它。谢谢亲爱的,我知道了。