[英]How to access to internal storage in Android
我想将通过Android应用程序生成和修改的.docx文件存储到android手机的内部存储中(如果有帮助,请使用所有相同型号的手机)。 我已经加载了模板(位于应用程序中)并修改了工作的字段,但是在如何保存文件方面受阻。
我正在使用docx4j,它具有一种保存方法:
private void writeDocxToStream(WordprocessingMLPackage template,
String target) throws IOException, Docx4JException {
File f = new File(target);
template.save(f);
}
我尝试了其他“手动”方式,但始终遇到相同的问题:
目标目录的输入应该是什么?
对于外部存储来说,这样做似乎很容易,但是对于内部存储而言,这是另一回事。
当我只是尝试在test.txt中输出String,然后使用经典的BufferedReader
, InputStreamReader
和FileInputStream
方式将其取回时,无论如何我都无法获得此信息。
关于此主题的信息非常分散,我已经在下午阅读了有关实现存储的数千种方法,但没有一种与我的问题相对应。
我已在清单中设置了<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
,只是为了确保它不会改变任何内容。
而且,也许与问题有关,我无法访问测试设备(可以运行该应用程序的Samsung Galaxy 5S)上的文件(从设备还是从计算机),我似乎拥有所有文件夹,但没有它们中的任何文件,除了几个xml和txt文件...(但是,执行以下操作时,我仍然一无所获:在EditText中写入-在文件中存储-在.txt中保存文件-检索字符串-在textView中查看字符串)。
这非常重要,因为在创建.docx文件之后,我必须检索它们以供进一步使用。
感谢您的回答,如果可以提供更多信息,请告诉我,我知道我的问题还不清楚。
如果您将文件写入应用的私有内部存储,则无需拥有权限android.permission.WRITE_EXTERNAL_STORAGE
。
在您的代码中,通过调用
context.getDir("testfile", Context.MODE_WORLD_READABLE)).getPath().toString()+"/test.docx";
该文件将写入路径
/data/data/com.yourpackage.name/app_testfile/test.docx
如果写入操作成功,则可以使用上述路径读取和检索文件的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.