Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net system.io.path说合法字符是非法的_.net_File_Filenames - Fatal编程技术网

.net system.io.path说合法字符是非法的

.net system.io.path说合法字符是非法的,.net,file,filenames,.net,File,Filenames,我正在编写一个处理用户存档的util,其中一个测试存档文件名为“”。export。在我的代码中,我循环遍历所有文件扩展名,并检查文件扩展名是否忽略某些文件类型(例如thumb.db) 当我写Path.GetExtension(v)或Path.GetFileName(v)时,我得到一个异常消息“路径中的非法字符”。“显然是非法的,但是在windows上-编辑不管它是非法的,我本来以为字符是”)我可以使用该文件名。我能告诉它允许这个字符吗?我是否需要编写自己的GetExtension和GetFile

我正在编写一个处理用户存档的util,其中一个测试存档文件名为
“”。export
。在我的代码中,我循环遍历所有文件扩展名,并检查文件扩展名是否忽略某些文件类型(例如thumb.db)


当我写
Path.GetExtension(v)
Path.GetFileName(v)
时,我得到一个异常消息“路径中的非法字符”。
显然是非法的,但是在windows上-编辑不管它是非法的,我本来以为字符是
)我可以使用该文件名。我能告诉它允许这个字符吗?我是否需要编写自己的GetExtension和GetFileName?我能做什么?

不,不能强制文件系统接受它不想接受的字符。Windows不允许在文件名中使用引号


您需要去掉引号(可能用下划线或类似的东西替换引号),或者对您使用的文件系统中无效的字符进行某种形式的转义。

不,您不能强制文件系统接受它不想要的字符。Windows不允许在文件名中使用引号

您需要去掉引号(可能用下划线或类似的东西替换引号),或者对您使用的文件系统中无效的字符进行某种形式的转义。

显然是非法的,但是在windows(我相信linux)上,我可以使用该文件名”“嗯?它是非法的,你不能使用它。“
显然是非法的,但是在windows(我相信linux)上,我可以使用该文件名”。哈?它是非法的,你不能使用它。对了,我第一次误读了“as”,所以我认为它是合法的,而实际上它不是。谢谢+1和接受正确,我第一次误读“as”,所以我认为它是合法的,而事实上它不是。谢谢+1和接受