文件读写

public class ShowLog extends Activity {
// 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();
      }
   }
}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值