記錄自己比較頭痛老忘記的方法,創建文件夾,存放文件,存放圖片等資源,這樣可以再開發APP時從本地加載,減少網絡請求,無網絡請求也可以完成基本使用。
需要讀寫權限:(*6.0以上需要動態加載權限)
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
1、創建文件夾:
private void createFolder() {
//新建一個File,傳入文件夾目錄
File file = new File("/mnt/sdcard/chenxh/mytestApp");
//判斷文件夾是否存在,如果不存在就創建,否則不創建
if (!file.exists()) {
//通過file的mkdirs()方法創建目錄中包含卻不存在的文件夾
file.mkdirs();
}
}
2、創建一個txt文件
private void createFile(){
//傳入路徑 + 文件名
File mFile = new File("/mnt/sdcard/chenxh/mytestApp/test.txt");
//判斷文件是否存在,存在就刪除
if (mFile.exists()){
mFile.delete();
}
try {
//創建文件
mFile.createNewFile();
//給一個吐司提示,提示創建成功
Toast.makeText(getApplicationContext(), "文件創建成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
3、寫入內容:(SAVE_REAL_PATH是路徑 )
// 創建文件 寫入文件內容
private void crFilewriteData(){
File saveFile = new File(SAVE_REAL_PATH, "log.txt");
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(saveFile);
outStream.write("json數據".getBytes());
outStream.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
4、指定某文件 續寫內容:(SAVE_REAL_PATH是路徑 )
private void xxFileWriteData(){
File file = new File(SAVE_REAL_PATH, "log.txt");
RandomAccessFile raf = null;
try {
//如果爲追加則在原來的基礎上繼續寫文件
raf = new RandomAccessFile(file, "rw");
raf.seek(file.length());
raf.write("sadasdasdas".getBytes());
raf.write("\n".getBytes());
} catch (IOException e) {
}
}