技术分享 LINUX 查看内容

Linux环境上传文件“FileNotFoundException文件名过长”问题处理

老高 | 发布于 2020-10-11 20:52| 浏览()| 评论() | 收藏() | 点赞() | 打印

摘要: java应用 Linux环境上传文件时,出现java.io.FileNotFoundException(文件名过长)问题 ,是由于Linux路径名和文件名最大长度限制

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个左右。



发表评论(对文章涉及的知识点还有疑问,可以在这里留言,老高看到后会及时回复的。)

表情