Android 打印输出信息

为了以后便于查找

/**打印信息类*/
public class FileWrite {

    /**根目录*/
    private  static final String SDCARD_PATH = Environment.getExternalStorageDirectory().getPath();         
    private  static final String LOG_FILE_PATH = SDCARD_PATH + File.separator+"lou"+File.separator+"log.log";   
    private  static final String parentpath = SDCARD_PATH + File.separator+"lou";   
    private static final String mCharset = "utf-8";
    private static FileWrite fw = null;
    private static FileOutputStream mFos;
    private static File mLogFile;
    private static File parentFile;
    private FileWrite(){
        //判断文件是否存在
        createIfNotExist(LOG_FILE_PATH);
        try {
            //此处判断文件是否存在,若存在则会追加 否则创建文件
            mFos = new FileOutputStream(mLogFile, true);
//          mFos = new FileOutputStream(LOG_FILE_PATH, true);
        } catch (FileNotFoundException e) {
            Log.e("lou", "FileWrite FileNotFoundException");
            e.printStackTrace();
        }
    }
    /**创建文件 判断文件是否存在
     * @param path 文件路径*/
    private void createIfNotExist(String path) {
        parentFile = new File(parentpath);
        if(!parentFile.exists()){
            parentFile.mkdir();
        }
        mLogFile = new File(path);
        if(!mLogFile.exists()){
            try {
                mLogFile.createNewFile();
            } catch (IOException e) {
                Log.e("lou", "FileWrite.createIfNotExist createNewFile failed");
                e.printStackTrace();
            }
        }
    }
    public static FileWrite getInstance(){
        if(fw == null){
            fw = new FileWrite();
        }
        return fw;
    }

    /**
     * 此处是调用的接口
     * @param content 打印的内容*/
    public void WriteString(String content){
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        content = sdf.format(date)+":"+content;
        byte[] data;
        try {
            data = content.getBytes(mCharset);
            writeByte(data);
        } catch (UnsupportedEncodingException e) {
            Log.e("lou", ""+e.getMessage());
            e.printStackTrace();
        }
    }

    /**写文件
     * @param data 数据*/
    private boolean writeByte(byte[] data) {
        try {
            mFos.write(data);
            mFos.write("\r\n".getBytes());
            mFos.flush();
            return true;
        } catch (IOException e) {
            Log.e("lou", "writeByte failed");
            e.printStackTrace();
        }
        return false;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio 中,可以使用 Android 日志系统(Logcat)来输出打印信息到控制台。 在 Native C 代码中,可以使用以下方法来输出日志信息: 1. 使用 `__android_log_print` 函数 ```c #include <android/log.h> #define LOG_TAG "MyApp" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) void myFunction() { int value = 123; LOGD("The value is %d", value); } ``` 在上面的例子中,`__android_log_print` 函数的第一个参数是日志级别,第二个参数是日志标签,第三个参数是日志信息(支持格式化字符串)。 日志级别常量包括: - `ANDROID_LOG_VERBOSE`: 详细信息 - `ANDROID_LOG_DEBUG`: 调试信息 - `ANDROID_LOG_INFO`: 普通信息 - `ANDROID_LOG_WARN`: 警告信息 - `ANDROID_LOG_ERROR`: 错误信息 - `ANDROID_LOG_FATAL`: 致命错误信息 2. 使用 `printf` 函数 ```c #include <stdio.h> void myFunction() { int value = 123; printf("The value is %d\n", value); } ``` 在使用 `printf` 函数时,需要注意以下事项: - 由于 Native C 代码是在本地运行的,所以需要使用本地的 `printf` 函数,而不是 Java 层的 `System.out.println` 函数。 - 输出的日志信息默认会缓存到内存中,需要调用 `fflush(stdout)` 函数或者等待程序结束才能在控制台上看到输出结果。 总的来说,推荐使用 `__android_log_print` 函数来输出日志信息,可以方便地在 Android Studio 的 Logcat 中查看并过滤日志信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值