【发布时间】:2013-04-27 02:38:20
【问题描述】:
我正在尝试编辑设备上的现有文件-首先-使用检索文件路径的选择器选择文件,如“mnt/sdcard/file.png”。然后我将它传递给阅读器以读取现有文件,然后通过移动每个字符的 Ascii 来修改它。然后再次覆盖它以替换旧的。
我已经在 PC 文件的桌面应用程序上测试了代码,它运行良好,但不能作为 Android 应用程序运行。它曾经在我的设备上运行过,但再次无法运行
关于我所做的:
1)在Mainafest文件中增加对External source Permission的写法 2)选择正确的文件并检索它的路径 3)读取文件内容真
File file = f;
FileInputStream fin;
fin = new FileInputStream(file);
byte fileContent[] = new byte[(int)file.length()];
fin.read(fileContent);
4)修改文件字节 5)在原文件中写回(Overwrite)
FileOutputStream fos = new FileOutputStream(f.getAbsolutePath());
fos.write(enc_msg);
fos.write((byte)seed);
fin.close();
fos.close();
6) 再次将文件设置为空 7)在onClickListner中调用finish()
提前致谢
【问题讨论】:
-
@FoamyGuy ..它没有抛出任何异常,但是文件没有被修改,虽然当我检查文件详细信息时,我发现修改日期升级到执行时间。
-
为什么不在你的 catch 块中记录所有异常并在你的问题中发布 logcat?
-
在制作文件输出流之前尝试关闭文件输入流。
-
@PradeepPati .. 我已经这样做了,没有发现任何异常
-
看看我更新的答案