Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java.io.FileNotFoundException:/storage/emulated/0/user\u image\u name.jpg open失败:enoint(没有这样的文件或目录)崩溃应用程序_Android - Fatal编程技术网

Android java.io.FileNotFoundException:/storage/emulated/0/user\u image\u name.jpg open失败:enoint(没有这样的文件或目录)崩溃应用程序

Android java.io.FileNotFoundException:/storage/emulated/0/user\u image\u name.jpg open失败:enoint(没有这样的文件或目录)崩溃应用程序,android,Android,如何处理filenotfoundexception。我的应用程序在某些设备上崩溃,但在其他设备上运行良好。是否有一个try-catch来处理未找到的文件,或者如何处理此错误 03-31 12:25:49.477: E/MediaPlayer(28356): error: /storage/emulated/0/user_image_name.jpg: open failed: ENOENT (No such file or directory) 03-31 12:25:49.477

如何处理filenotfoundexception。我的应用程序在某些设备上崩溃,但在其他设备上运行良好。是否有一个try-catch来处理未找到的文件,或者如何处理此错误

   03-31 12:25:49.477: E/MediaPlayer(28356): error: /storage/emulated/0/user_image_name.jpg: open failed: ENOENT (No such file or directory)
    03-31 12:25:49.477: E/MediaPlayer(28356): java.io.FileNotFoundException: /storage/emulated/0/user_image_name.jpg: open failed: ENOENT (No such file or directory)
    03-31 12:25:49.477: E/MediaPlayer(28356): at libcore.io.IoBridge.open(IoBridge.java:416)
    03-31 12:25:49.477: E/MediaPlayer(28356): at java.io.FileInputStream.<init>(FileInputStream.java:78)
    03-31 12:25:49.477: E/MediaPlayer(28356): at name.secondname.app.utils.HttpRequest.doFileUpload(HttpRequest.java:2949)
    03-31 12:25:49.477: E/MediaPlayer(28356): at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1099)
    03-31 12:25:49.477: E/MediaPlayer(28356): at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1)
    03-31 12:25:49.477: E/MediaPlayer(28356): at android.os.AsyncTask$2.call(AsyncTask.java:287)
    03-31 12:25:49.477: E/MediaPlayer(28356): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
    03-31 12:25:49.477: E/MediaPlayer(28356): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
    03-31 12:25:49.477: E/MediaPlayer(28356): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
    03-31 12:25:49.477: E/MediaPlayer(28356): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
    03-31 12:25:49.477: E/MediaPlayer(28356): at java.lang.Thread.run(Thread.java:856)
    03-31 12:25:49.477: E/MediaPlayer(28356): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
    03-31 12:25:49.477: E/MediaPlayer(28356): at libcore.io.Posix.open(Native Method)
    03-31 12:25:49.477: E/MediaPlayer(28356): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
    03-31 12:25:49.477: E/MediaPlayer(28356): at libcore.io.IoBridge.open(IoBridge.java:400)
    03-31 12:25:49.477: E/MediaPlayer(28356): ... 10 more
    03-31 12:25:49.497: E/AndroidRuntime(28356): FATAL EXCEPTION: AsyncTask #5
    03-31 12:25:49.497: E/AndroidRuntime(28356): java.lang.RuntimeException: An error occured while executing doInBackground()
    03-31 12:25:49.497: E/AndroidRuntime(28356): at android.os.AsyncTask$3.done(AsyncTask.java:299)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.FutureTask.run(FutureTask.java:239)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.lang.Thread.run(Thread.java:856)
    03-31 12:25:49.497: E/AndroidRuntime(28356): Caused by: java.lang.NullPointerException
    03-31 12:25:49.497: E/AndroidRuntime(28356): at name.secondname.app.utils.HttpRequest.doFileUpload(HttpRequest.java:3006)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1099)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at android.os.AsyncTask$2.call(AsyncTask.java:287)
    03-31 12:25:49.497: E/AndroidRuntime(28356): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
    03-31 12:25:49.497: E/AndroidRuntime(28356): ... 4 more
03-31 12:25:49.477:E/MediaPlayer(28356):错误:/storage/emulated/0/user\u image\u name.jpg:open失败:enoint(没有这样的文件或目录)
03-31 12:25:49.477:E/MediaPlayer(28356):java.io.FileNotFoundException:/storage/emulated/0/user\u image\u name.jpg:open failed:enoint(没有这样的文件或目录)
03-31 12:25:49.477:E/MediaPlayer(28356):在libcore.io.IoBridge.open(IoBridge.java:416)
03-31 12:25:49.477:E/MediaPlayer(28356):位于java.io.FileInputStream。(FileInputStream.java:78)
03-31 12:25:49.477:E/MediaPlayer(28356):at name.secondname.app.utils.HttpRequest.doFileUpload(HttpRequest.java:2949)
03-31 12:25:49.477:E/MediaPlayer(28356):at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1099)
03-31 12:25:49.477:E/MediaPlayer(28356):at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1)
03-31 12:25:49.477:E/MediaPlayer(28356):在android.os.AsyncTask$2.call(AsyncTask.java:287)
03-31 12:25:49.477:E/MediaPlayer(28356):位于java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-31 12:25:49.477:E/MediaPlayer(28356):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
03-31 12:25:49.477:E/MediaPlayer(28356):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-31 12:25:49.477:E/MediaPlayer(28356):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-31 12:25:49.477:E/MediaPlayer(28356):在java.lang.Thread.run(Thread.java:856)上
03-31 12:25:49.477:E/MediaPlayer(28356):原因:libcore.io.ErrnoException:打开失败:eNote(没有此类文件或目录)
03-31 12:25:49.477:E/MediaPlayer(28356):在libcore.io.Posix.open(本机方法)
03-31 12:25:49.477:E/MediaPlayer(28356):在libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
03-31 12:25:49.477:E/MediaPlayer(28356):在libcore.io.IoBridge.open(IoBridge.java:400)
03-31 12:25:49.477:E/MediaPlayer(28356):。。。10多
03-31 12:25:49.497:E/AndroidRuntime(28356):致命异常:AsyncTask#5
03-31 12:25:49.497:E/AndroidRuntime(28356):java.lang.RuntimeException:执行doInBackground()时出错
03-31 12:25:49.497:E/AndroidRuntime(28356):在android.os.AsyncTask$3.done(AsyncTask.java:299)
03-31 12:25:49.497:E/AndroidRuntime(28356):在java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
03-31 12:25:49.497:E/AndroidRuntime(28356):在java.util.concurrent.FutureTask.setException(FutureTask.java:219)
03-31 12:25:49.497:E/AndroidRuntime(28356):在java.util.concurrent.FutureTask.run(FutureTask.java:239)
03-31 12:25:49.497:E/AndroidRuntime(28356):在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
03-31 12:25:49.497:E/AndroidRuntime(28356):位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-31 12:25:49.497:E/AndroidRuntime(28356):位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-31 12:25:49.497:E/AndroidRuntime(28356):在java.lang.Thread.run(Thread.java:856)处
03-31 12:25:49.497:E/AndroidRuntime(28356):由以下原因引起:java.lang.NullPointerException
03-31 12:25:49.497:E/AndroidRuntime(28356):at name.secondname.app.utils.HttpRequest.doFileUpload(HttpRequest.java:3006)
03-31 12:25:49.497:E/AndroidRuntime(28356):at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1099)
03-31 12:25:49.497:E/AndroidRuntime(28356):at name.secondname.app.moncompte.Editer$uploadImageLoadingTask.doInBackground(Editer.java:1)
03-31 12:25:49.497:E/AndroidRuntime(28356):在android.os.AsyncTask$2.call(AsyncTask.java:287)
03-31 12:25:49.497:E/AndroidRuntime(28356):在java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-31 12:25:49.497:E/AndroidRuntime(28356):。。。4更多

是,在文件打开逻辑周围放置一个try-catch块,并在捕获异常时处理异常

try {
    // File related operations
} catch (Exception e) {
    // Handle the exception here
}
您是在假设文件路径是什么,还是在运行时使用适当的API发现它?无论如何,您的程序必须考虑文件(甚至整个外部存储装载)可能不存在的事实。因此,首先修复任何错误,例如假设给定设备上的路径是什么,或者程序逻辑错误,这些错误会导致您认为文件在尚未创建时应该在那里。但是在那之后,您可能应该在try/catch块中处理异常,因为文件/文件系统仍然可能在您身上消失。