[英]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.