记录自己比较头痛老忘记的方法,创建文件夹,存放文件,存放图片等资源,这样可以再开发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) {
}
}