程序运行时的编码格式和传输到程序中参数的编码格式是否一致,可以在程序中打印日志进行验证;
文件路径中存在转义符
不同用户运行程序也可能导致编码格式不一致的问题;
运行程序的用户是否有该文件的权限;可以用如下命令测试
sudo -u user(用户名) ll /home/root/a.txt(访问文件的路径)
该文件的父目录(泛指该文件的上层目录)所在用户及用户组、权限是否有问题,
比如(和程序的运行用户)是否属于同一个用户,是否属于同一个用户组
程序修改了文件(文件名、文件所在用户组,文件权限等),但是操作系统还未处理完成,此时再通过操作系统操作文件,发现找不到文件。
极端情况下,操作系统打开的文件句柄数达到上限,没有可用的文件句柄用于打开文件。
原文:https://www.cnblogs.com/virgosnail/p/11828455.html