java–ENOENT(没有这样的文件或目录)当有文件时

java–ENOENT(没有这样的文件或目录)当有文件时,第1张

概述我想在Android中与ShareActionProvider分享一个PNG.当我打开PNG到Uri时,它说没有找到文件.打开失败:ENOENT(没有这样的文件或目录),即使我已经进入文件系统并亲自看到它.我已经在手机和AVD上尝试了保存错误.我环顾四周但没找到答案.任何帮助将非常感激.这是我尝试打开文件的地方:

我想在Android中与ShareActionProvIDer分享一个PNG.当我打开PNG到Uri时,它说没有找到文件.
打开失败:ENOENT(没有这样的文件或目录),即使我已经进入文件系统并亲自看到它.我已经在手机和AVD上尝试了保存错误.我环顾四周但没找到答案.任何帮助将非常感激.

这是我尝试打开文件的地方:

 file file = new file(getfilesDir()+"wifiqr/", "QRCode.png");                file.setReadable(true, false);                Uri uri = Uri.fromfile(file);                Intent intent = new Intent(Intent.ACTION_SEND);                intent.setType("image/*");                intent.putExtra(Intent.EXTRA_STREAM,uri);                provIDer.setShareIntent(intent);

如果它有帮助,我将保存它:

 String filename = getfilesDir()+"/wifiqr/" + "QRCode.png";                etSSID.setText(filename);                OutputStream stream = null;                try {                    stream = new fileOutputStream(filename);                    bmp.compress(Bitmap.CompressFormat.PNG, 80, stream);                    stream.close();                } catch (fileNotFoundException e) {                    e.printstacktrace();                } catch (IOException e) {                    e.printstacktrace();                }

最后是错误日志:

11-15 02:34:43.243      594-892/com.androID.mms E/Mms/media: IOException caught while opening or reading stream        java.io.fileNotFoundException: /data/data/com.Frostbytedev.wifiqr/fileswifiqr/QRCode.png: open Failed: ENOENT (No such file or directory)        at libcore.io.IoBrIDge.open(IoBrIDge.java:416)        at java.io.fileinputStream.<init>(fileinputStream.java:78)        at java.io.fileinputStream.<init>(fileinputStream.java:105)        at androID.content.ContentResolver.openinputStream(ContentResolver.java:447)        at com.androID.mms.model.MediaModel.initMediaSize(MediaModel.java:235)        at com.androID.mms.model.MediaModel.<init>(MediaModel.java:74)        at com.androID.mms.model.RegionMediaModel.<init>(RegionMediaModel.java:36)        at com.androID.mms.model.RegionMediaModel.<init>(RegionMediaModel.java:31)        at com.androID.mms.model.ImageModel.<init>(ImageModel.java:73)        at com.androID.mms.ui.SlIDeshowEditor.changeImage(SlIDeshowEditor.java:163)        at com.androID.mms.data.WorkingMessage.internalChangeMedia(WorkingMessage.java:640)        at com.androID.mms.data.WorkingMessage.changeMedia(WorkingMessage.java:588)        at com.androID.mms.data.WorkingMessage.setAttachment(WorkingMessage.java:453)        at com.androID.mms.ui.ComposeMessageActivity.addImage(ComposeMessageActivity.java:3150)        at com.androID.mms.ui.ComposeMessageActivity.addAttachment(ComposeMessageActivity.java:3291)        at com.androID.mms.ui.ComposeMessageActivity.access00(ComposeMessageActivity.java:167)        at com.androID.mms.ui.ComposeMessageActivity.run(ComposeMessageActivity.java:3236)        at com.androID.mms.ui.AsyncDialog$ModalDialogAsyncTask.doInBackground(AsyncDialog.java:129)        at com.androID.mms.ui.AsyncDialog$ModalDialogAsyncTask.doInBackground(AsyncDialog.java:84)        at androID.os.AsyncTask.call(AsyncTask.java:287)        at java.util.concurrent.FutureTask.run(FutureTask.java:234)        at androID.os.AsyncTask$SerialExecutor.run(AsyncTask.java:230)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)        at java.lang.Thread.run(Thread.java:856)        Caused by: libcore.io.ErrnoException: open Failed: ENOENT (No such file or directory)        at libcore.io.Posix.open(Native Method)        at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)        at libcore.io.IoBrIDge.open(IoBrIDge.java:400)        ... 24 more

解决方法:

getfilesDir()对于该特定应用程序是私有的(即,其他应用程序无法读取它),如openFileOutput中所述(与its documentation一样,getfilesDir返回的目录相同).

如果您尝试跨应用程序共享文件,请按照Sharing Files training guide确保其他应用程序可以访问您的文件.

总结

以上是内存溢出为你收集整理的java – ENOENT(没有这样的文件或目录)当有文件时全部内容,希望文章能够帮你解决java – ENOENT(没有这样的文件或目录)当有文件时所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1119047.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存