java应用 Linux环境上传文件时,出现java.io.FileNotFoundException(文件名过长)问题 ,是由于Linux路径名和文件名最大长度限制
在x86_64 Linux下,文件名的最大长度是255个字符(characters),文件路径的最大长度是4096字符(characters), 即可以包含16级的最大文件长度的路径。
在 <limits.h>头文件中,有 #define NAME_MAX 255 的定义.
一个字符 = N个字节(bytes). 取决与编码类型,utf-8 编码采用1-4个字节来编码,可以覆盖世界上所有的语言种类。
一个汉字在windows上是占两个字节,而在Linux上占三个字节。
需要说明的是,字符指的是ASCII字符,如果是汉字或者其他语言,则需要视编码而定。
例如文件名为中文时,建议文件名字数控制在70个左右。
发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)