java 把logcat日志保存到SD里

87 篇文章 0 订阅
 private void saveLogcat(){
	    	String shell = "logcat -v time";	    	
	        try
	        {	        	
	            Process process = Runtime.getRuntime().exec(shell);
	            InputStream inputStream = process.getInputStream();	            
	            
	            boolean sdCardExist = Environment.getExternalStorageState().equals(
	                    android.os.Environment.MEDIA_MOUNTED);
	            File dir = null; 	           
	            
	            if (sdCardExist)
	            {

	                dir = new File(Environment.getExternalStorageDirectory().toString()
	                        + File.separator + "logcat.log");
	                if (!dir.exists())
	                {
	                    dir.createNewFile();
	                }
	            }
	            byte[] buffer = new byte[1024];
	            int bytesLeft = 5 * 1024 * 1024; 
	            try
	            {
	                FileOutputStream fos = new FileOutputStream(dir);
	                try
	                {
	                    while (bytesLeft > 0)
	                    {
	                        int read = inputStream.read(buffer, 0, Math.min(bytesLeft,
	                                buffer.length));
	                        if (read == -1)
	                        {
	                            throw new EOFException("Unexpected end of data");
	                        }
	                        fos.write(buffer, 0, read);
	                        bytesLeft -= read;
	                    }
	                } finally
	                {
	                    fos.close();
	                }
	            } finally
	            {
	                inputStream.close();
	            }
	            Log.v(TAG, "LOGCAT = ok" );
	        } catch (IOException e)
	        {
	            e.printStackTrace();
	        }
	    }
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_LOGS"/> 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值