java读取本地文件失败终极解决方案FileNotFoundException等一系列相关异常解决

本篇文章主要是解决在工作或学习中遇到的无法操作本地文件显示文件夹路径无效或无权限等问题的解决

 首先 上一张图

如上图所示 我的文件名路径明明是正确的 但是却显示该文件不存在 有的人可能文件分隔符不习惯用这样的 为了防止在这个问题上纠结 就再上一张

这样 当你操作这个file时 就会报错了


这里只是列举两个最常出现的报错信息 有关can't read input file 的详细报错分析将会在下一篇博文中写到

一般情况下 我们操作文件只要保证文件路径名称正确 那么肯定是没问题的 但是!!!!

刚才上传的图片已经说明了一个问题 路径明明正确 那为什么还是报错呢  黑人问号????

但是 既然我们身为一名程序员 就应该坚信一点 既然出现了bug 那么肯定是我们的代码挂了 程序不是人 它不会撒娇卖萌 更不会骗人 所以 上面这段代码肯定是有问题的

在翻遍百度谷歌以后 发现解决方案基本是 你看看你的路径对不对 你的这种斜杠不对 要用另一种 你的盘符大小写不对


既然我写博客了 那肯定是找见问题在哪 接下来就让我们一步一步看 继续上图



一开始 我遇到这种情况我是崩溃的 不过还是要微笑着测下去

既然有正确的出现了 那么就再次证明了 代码是有问题的

本来我是准备翻翻整个file类的实现过程的 后来一想 会不会是这里出问题了 继续上图

到这里 问题大概就出来了 现在智能的开发工具骗了我们的眼睛 虽然我们看着两个字符串是一模一样的 其实 并不是的

然后 我们去查看该class执行过程

如图所示 虽然两个字符串看着是一样的 但是demo2 实际上开头还是有字符的 虽然不知道到底是什么

最后呢 我也找到了出现这个问题的根本原因 其实本文讲的问题大多出现在本地测试阶段 因为在本地测试时 你肯定会手动输入一个文件的地址 然后在本地测试方法的执行效果 这个时候 问题就会出现了

虽然文件地址是我手动给的 但是 我是这么复制的 (系统是win10)

程序员都是懒省事 每个文件属性安全里 都有该文件的绝对路径 我直接把它复制过去修改了分隔符就OK了 也正是因为这个步骤导致了以上情况的出现!  如果我们从左往右复制这个路径 是没问题的

但是如果从优右往左并且拉好长 (就是鼠标开始在文件名结尾处 然后点住不动使劲往左拉 ) 就会出现问题了 在控制台可以看到 :


第一张是从左往右复制 第二张是从右往左复制 并且使劲拉的那种 可以在控制台看到 有一个乱码字符出现 这就是复制到现在智能的文本编辑工具中的那个隐形字符 (注: 只有在控制台这种非智能的编辑器才能看到这种效果)

以上 就是本篇文章的全部内容 希望对大家有所帮助



发布了15 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/q690080900/article/details/78499519