我想通过我的应用程序追加已存在于/ system / location中的文件,但我无法在代码中提供特定路径。我已授予supersu权限和写入内部存储的权限。在追加之前我需要挂载/系统吗?
答案 0 :(得分:0)
您可以使用Context.getFilesDir()
方法获取内部存储的路径
修改
使用此行FileOutputStream fileOuputStream = openFileOutput(name, MODE_PRIVATE);
时,内部存储路径是通过openFileOutput()
方法的默认实现获得的。将在具有指定名称的该位置创建新文件。现在,当您想要获取同一文件的路径时,可以使用getFilesDir()
将绝对路径获取到创建文件的目录。你可以这样做: -
File file = new File(getFilesDir() + "/" + name);
您可以使用以下方式在附加模式中手动创建FileOutputStream
FileOutputStream(File file, boolean append)
FileOutputStream(String path, boolean append)
或者可选地,并且可以说优选地,通过使用本机android方法:
openFileOutput(FILENAME, Context.MODE_APPEND);
打开一个名为' FILENAME'的文件。位于应用的默认存储位置。通常最好让操作系统决定存储文件的位置。有关存储选项的详细信息 http://developer.android.com/guide/topics/data/data-storage.html#filesInternal