java读写文件的工具类:
package com.demo.utils;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import android.content.Context;
public class ReadOrWriteFile {
private static ReadOrWriteFile instance;
private static Context mContext;
public static ReadOrWriteFile getInstance(Context context) {
if (instance == null)
instance = new ReadOrWriteFile(context);
return instance;
}
public ReadOrWriteFile(Context context) {
mContext = context;
}
// 写在/mnt/sdcard/目录下面的文件
private static final String FILENAME = "errorlog.txt";
public void writeFileSdcard(String message) {
try {
FileOutputStream fout = mContext.openFileOutput(FILENAME,
Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE
+ Context.MODE_APPEND);
byte[] bytes = message.getBytes("utf-8");
fout.write(bytes);
fout.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
// 读在/mnt/sdcard/目录下面的文件
public ArrayList<HashMap<String, String>> readFileSdcard() {
BufferedReader br = null;
FileInputStream fin = null;
ArrayList<HashMap<String, String>> list = null;
HashMap<String, String> hashMap = null;
String str = null;
try {
list = new ArrayList<HashMap<String, String>>();
fin = mContext.openFileInput(FILENAME);
br = new BufferedReader(new InputStreamReader(fin, "utf-8"));
while ((str = br.readLine()) != null) {
str = str + "\n" + br.readLine();
hashMap = new HashMap<String, String>();
hashMap.put("timelog", str);
list.add(hashMap);
}
fin.close();
}
catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fin != null)
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (br != null)
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return list;
}
}