android或者java 打开文件出现java.io.FileNotFoundException的解决方案

来源:互联网 发布:惠州政府网络问政平台 编辑:程序博客网 时间:2024/06/05 16:53
      本人今天下午调试android程序的过程中,老是出现程序java.io.FileNotFoundException的异常,我纳闷急了,因为这个问题对于我来说本来是个非常简单的问题,但是却花了两个小时调试,的确有些郁闷,但是既然要花这么长时间调试,自然就有其问题的隐蔽性,于是我想对java.io.FileNotFoundException的出现的场景及其解决方案做个简要的总结。 

       在编写android中出现出现java.io.FileNotFoundException的异常的时候我们首先会认为肯定是权限的问题,但是请不要轻易的下定论,于是想到的是添加如下权限

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

事实上如果你的错误提示中出现了诸如permission denied的字眼或者某些告诉你你的程序的权限不顾的字眼的时候你完全有理由这么做。

但如果你的错误提示中没有出现相关的字眼你就要考虑是不是其他原因导致了这个结果。

假设你的程序中出现了如下的错误提示,你就需要考虑是不是你的代码在打开一个不存在的目录项,如果是目录项不存在的话,请在程序中先确保目录项的存在性,可以先创建一个目录项。

java.io.FileNotFoundException: D:\jackli\hello.txt (系统找不到指定的路径。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.<init>(Unknown Source)at java.io.FileOutputStream.<init>(Unknown Source)at Test.main(Test.java:19)

最后面再来看一下还有一种错误提示,那就是文件名的使用有错,比如出新了非法字符,这个往往是在网络编程的时候比较容易出现。就像今天我的程序就是这样的,我发现由于网络传输过来的字符串看上去是正确的,但是却在文件名的末尾出现了一个非法字符'\n',这个真是很难发现的一个错误啊,以至于我花了两小时来找这个错误。

希望这个能对大家有所帮助。



0 0
原创粉丝点击