java-openFileInput()和/或openFileOutput()I / O流静默失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-openFileInput()和/或openFileOutput()I / O流静默失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2116字,纯文字阅读大概需要4分钟。
内容图文
我一直在鬼混android平台,以不同的方式存储数据.现在,我正在使用Context方法openFileInput()和openFileOutput().
正如这两种方法的文档告诉我的那样,我创建了一个名为default的文件.这是一些示例代码(这些示例是我所做的工作的副本,我知道文件名和变量的命名不同):
openFileOutput()…
Context cont = /* defined somewhere */;
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = cont.openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.flush();
fos.close();
openFileInput()…
FileInputStream fis = cont.openFileInput("hello_file");
byte[] buffer = new byte[(int) fis.getChannel().size()];
fis.read(buffer);
String str= "";
for(byte b:buffer) str+=(char)b;
fis.close();
在这些代码段中,“ hello world”应该写入文件“ hello_file”,并且应该是str中的内容.我的代码存在的问题是,无论我写什么文件,FileInputReader都不会拾取任何东西.
我滚动浏览了android文档中列出的权限,但是找不到关于内部存储的任何信息(而且我很确定您不需要类似这样的权限).
最重要的是,当代码运行正常且没有错误时,我不明白为什么FileInputWriter没有编写任何内容,或者为什么FileInputReader没有读取任何内容(我不知道它是哪个).
解决方法:
我写回答案,因为评论太多了.
我已经尝试了您的代码-很好,它工作正常.
我唯一能想到的就是您的设备有问题.在这种情况下,我会期待一些例外…
您仍然可以做的是复制我的代码并检查日志.查看它是否有效,或者您是否会遇到异常.然后检查设备中有多少内部内存(它是真实的还是仿真的?)
如果被仿真,那么即使是这么小的文件也可能太小.
这是我放入onResume()的代码
String FILENAME = "hello_file";
String string = "hello world!";
try {
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.flush();
fos.close();
} catch (IOException e) {
Log.e("STACKOVERFLOW", e.getMessage(), e);
}
try {
FileInputStream fis = openFileInput("hello_file");
byte[] buffer = new byte[(int) fis.getChannel().size()];
fis.read(buffer);
String str= "";
for(byte b:buffer) str+=(char)b;
fis.close();
Log.i("STACKOVERFLOW", String.format("GOT: [%s]", str));
} catch (IOException e) {
Log.e("STACKOVERFLOW", e.getMessage(), e);
}
输出:
08-16 08:31:38.748: I/STACKOVERFLOW(915): GOT: [hello world!]
是否存在以下类别:“有用,但不能解决问题”?
内容总结
以上是互联网集市为您收集整理的java-openFileInput()和/或openFileOutput()I / O流静默失败全部内容,希望文章能够帮你解决java-openFileInput()和/或openFileOutput()I / O流静默失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。