【C#】简单解决PathTooLong的Exception

简介: 原文:【C#】简单解决PathTooLong的Exception 前提 windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。
原文: 【C#】简单解决PathTooLong的Exception

前提

windows系统路径的最大长度限制是260个字符(听说.Net 4.6.2,取消了这个限制),而Linux或者Unix系统的好像是4K个字符。所以如果一个文件夹由Linux系统创建,然后由windows系统读取处理的话,就会出现PathTooLong的异常。

解决方法

其实很简单

  1. 在VS中添加如下Nuget包:
    MicroSoft.Experimental.IO

  2. 在用到的地方把系统的File和Directory替换为LongPathFile和LongPathDirectory即可。如:

var items = LongPathDirectory.EnumerateFileSystemEntries(path);

其它

之前还用过一个Delimon.Win32.I​O 这个包,首先向Delimon大神表示敬意,这个包确实很强大,无奈没有EnumerateFileSystemEntries()方法,放弃了。

目录
相关文章
|
11月前
|
存储 前端开发 Java
Exception 和 Error
Exception 和 Error
66 0
|
11月前
|
Java
Exception 和 Error 有什么区别?
Java 平台对不同的异常进行了分类,具体被分为了 Exception 和 Error,他们都是继承了 Throwable 类。
69 0
Exception 和 Error 有什么区别?
|
Java API Spring
RuntimeException和Exception的区别
RuntimeException和Exception的区别
104 0
|
Java 程序员 编译器
异常(Exception)
异常(Exception)
79 0
异常(Exception)
|
安全 Java 程序员
Exception和Error的区别
Exception和Error的
141 0
|
安全
Error、Exception区别
Error、Exception区别
|
安全 Java 数据库连接
Exception和Error有什么区别吗
Exception和Error有什么区别吗
193 1
Exception和Error 有什么区别
Exception和Error 有什么区别
120 0
Exception和Error 有什么区别
|
Java 编译器 API
RuntimeException和Exception比较
RuntimeException和Exception比较
473 0
Error和Exception有什么区别?(还在总结)
Error表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;Exception表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。
1013 0