C# 使用正确格式时不支持的格式

C# 使用正确格式时不支持的格式,c#,file,format,C#,File,Format,我收到一个“NotSupportedExection未经用户代码处理-指定的路径格式不受支持”错误,即使我使用了重新查询的字符串 string path = folder + "/" + filename; fileByte = File.ReadAllBytes(path); // error here 你知道问题出在哪里吗 将代码编辑为此 string path = Path.Combine(folder, filename); fileByte = File.ReadAllBytes

我收到一个“NotSupportedExection未经用户代码处理-指定的路径格式不受支持”错误,即使我使用了重新查询的字符串

string path = folder + "/" + filename;

fileByte = File.ReadAllBytes(path); // error here
你知道问题出在哪里吗

将代码编辑为此

string path = Path.Combine(folder, filename);

fileByte = File.ReadAllBytes(path);
路径为“F:\Web\Opgaver\Skirmer\Hjemmesiden\BETA\Skirmer 17-04-2012\Skirmer 17-04-2012\Billeder\Galleri\F:\Web\Opgaver\Skirmer\Hjemmesiden\BETA\Skirmer 17-04-2012\Billeder\Galleri\2011\Vingsted\DSC_0001.JPG”


错误仍然发生。我看到的是ReadAllBytes重新查询一个字符串,该字符串显示我得到的路径,但仍然显示错误

您不应该在路径中使用
/
,因为斜杠在Windows中是无效字符。改为使用来创建它:

string path = Path.Combine(folder, filename);

您不应该在路径中使用
/
,因为斜杠在Windows中是无效字符。改为使用来创建它:

string path = Path.Combine(folder, filename);

path
变量的确切值是多少? 此外,还应使用将路径部分连接到完整路径中

正如
File.ReadAllBytes
的文档所述:

 NotSupportedException  - path is in an invalid format. 

path
变量的确切值是多少? 此外,还应使用将路径部分连接到完整路径中

正如
File.ReadAllBytes
的文档所述:

 NotSupportedException  - path is in an invalid format. 

您的路径格式不正确:

NotSupportedException  path is in an invalid format. 

您的路径格式不正确:

NotSupportedException  path is in an invalid format. 

我认为您需要使用反斜杠,或者更确切地说是使用属性
Path.directorysepartorchar
,该属性返回正确的分隔符,而不考虑文件系统:

string path = folder + Path.DirectorySeparatorChar.ToString() + filename;
或者您可以使用
路径。组合
方法:

string path = Path.Combine(folder, filename);

我认为您需要使用反斜杠,或者更确切地说是使用属性
Path.directorysepartorchar
,该属性返回正确的分隔符,而不考虑文件系统:

string path = folder + Path.DirectorySeparatorChar.ToString() + filename;
或者您可以使用
路径。组合
方法:

string path = Path.Combine(folder, filename);

如果您在编辑的问题中发布的路径确实是您尝试读取的路径,那么您获得异常的原因是因为路径中有两个冒号。驱动器号重复两次(
F:\…F:\…


使用该路径的原因完全取决于调用
path.Combine()
文件夹和
文件名的内容。
文件夹
文件名
不太可能都以完整路径开头,因为在这种情况下,
path.Combine()
将返回
filename
作为组合路径。在调用
path.Combine()之前,您的
文件夹
变量很可能已经包含两个基本路径副本,其中包含两个驱动器号和两个冒号,因此导致
不支持执行选项

如果您在编辑的问题中发布的路径确实是您尝试读取的路径,那么您获得异常的原因是因为路径中有两个冒号。驱动器号重复两次(
F:\…F:\…


使用该路径的原因完全取决于调用
path.Combine()
文件夹和
文件名的内容。
文件夹
文件名
不太可能都以完整路径开头,因为在这种情况下,
path.Combine()
将返回
filename
作为组合路径。在调用
path.Combine()之前,您的
文件夹
变量很可能已经包含两个基本路径副本,其中包含两个驱动器号和两个冒号,因此导致
不支持执行选项

您应该使用
Path.Combine
而不是+运算符来组合文件的路径您要读取的文件是什么?您能添加更多详细信息吗?我正在尝试读取文件DSC_0001.JPG。您还想知道哪些其他信息?我认为File.ReadAllBytes不会引发
不支持的格式异常
。您的错误应该在其他地方。错误听起来“NotSupportedExeption未经用户代码处理-不支持指定的路径格式”。您应该使用
path。Combine
而不是+运算符来组合文件的路径您要读取的文件是什么?您能添加更多详细信息吗?我正在尝试读取文件DSC_0001.JPG。您还想知道哪些其他信息?我认为File.ReadAllBytes不会引发
不支持的格式异常
。您的错误应该在其他地方。错误听起来“NotSupportedExeption未被用户代码处理-不支持指定的路径格式”