// log文件 sdcard/agingtest/AgingtestLog.txt
private static String LOGFILENAME = "AgingtestLog.txt";
private static String LOGFILEPATH = Environment
.getExternalStorageDirectory() + "/agingtest";
private static SimpleDateFormat LogSdf = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss.SSS");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.show_log);
TextView tvLog = (TextView) findViewById(R.id.tv_log);
tvLog.setMovementMethod(ScrollingMovementMethod.getInstance());
StringBuffer sb = new StringBuffer();
File file = new File(LOGFILEPATH, LOGFILENAME);
//读
try {
FileInputStream fr = new FileInputStream(file);//文件输出流
BufferedReader br = new BufferedReader(new InputStreamReader(fr, "utf-8"));//缓冲读取文件数据
String line = "" ;//记录每一行数据
String content = "" ;
while((line = br.readLine()) != null){//如果还有下一行数据
content += line + "\n" ;
}
Log.i("wqtest","log11:" + content);
tvLog.setText(content);//追加显示数据
br.close();//关闭文件输出流
fr.close();//关闭缓冲区
} catch (IOException e) {//抛出异常
Toast.makeText(this, "没有此文件!", Toast.LENGTH_SHORT).show();//提示异常
finish();//直接关闭界面
}
}
//写
writeLog("error", tag, text);
private static void writeLog(String mylogtype, String tag, String text) {
FileOutputStream fos = null;
try {
File logFile = new File(LOGFILEPATH, LOGFILENAME);
File fileDir = logFile.getParentFile();
if ((fileDir != null) && (!fileDir.exists())) {
fileDir.mkdirs();
}
if ((logFile != null) && logFile.exists()) {
if (fileSize > 300 * 1024 * 1024) {// delete if > 300M
boolean delResult = logFile.delete();
}
}
fos = new FileOutputStream(logFile, true);
Date nowtime = new Date();
String needWriteMessage = LogSdf.format(nowtime) + "-" + mylogtype
+ "-" + tag + ": ---" + text + "\n";
if (needWriteMessage != null) {
fos.write(needWriteMessage.getBytes());
fos.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}