读写文件
- 文件路径
private static final String SD_PATH = Environment
.getExternalStorageDirectory()+"//notes";
private static final String FILE_NAME="note";
- 检查文件是否存在
public static void checkDir(){
File fileDir=new File(SD_PATH);
if(!fileDir.exists()){
fileDir.mkdirs();
}
}
- 读取文件
public static List<ContentVo> read(Context context){
checkDir();
FileInputStream fis=null;
StringBuilder builder=null;
try {
fis=new FileInputStream(new File(SD_PATH,FILE_NAME));
BufferedReader bf=new BufferedReader(new InputStreamReader(fis));
builder=new StringBuilder();
String line=null;
while((line=bf.readLine())!=null){
builder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Gson gson=new Gson();
return gson.fromJson(datalist,new TypeToken<List<ContentVo>>(){}.getType());
}
- 写入文件
public static void write(List<ContentVo> list, Context context){
checkDir();
Gson gson=new Gson();
String outData = gson.toJson(list);
FileOutputStream fos=null;
try {
fos=new FileOutputStream(new File(SD_PATH,FILE_NAME));
if(outData!=null){
fos.write(outData.getBytes());
}
fos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}