0

在我的 Logger 类中,它将所有错误、信息和调试消息写入 .csv 文件。我想记录一个包含标点符号的字符串。我有一个方法可以返回我当前的 android 版本,如下所示:

public String getAndroidVersion() {
        androidVersion = android.os.Build.VERSION.RELEASE;
        return androidVersion; 
}

日志记录是这样编码的:

logToFile(String.format("%s;%s;%s;%s;%s\r\n", new Date().toString(), level,_processName, message, "\""+utils.getAndroidVersion()+"\""));

我希望最后一列包含 4.2.1 的 android 版本,但它以某种方式将其转换为如下数据:04.02.2001. 我知道方法的返回值getAndroidVersion是正确的。正如您在上面的示例中看到的那样,我试图转义该字符。

这里发生了什么,我是否使用了错误的转义字符?

谢谢!

编辑 。当我打开 .csv 文件时,notepad++它看起来像这样:

Date;Level;Process;Message;AndroidVersion
Mon Jan 07 13:37:51 CET 2013;INFO;Splash Screen;Application Started;"4.2.1"
Mon Jan 07 13:38:00 CET 2013;INFO;Bluetooth MessageHandler;Incomming file from VMw-1001500;"4.2.1"
Mon Jan 07 13:38:13 CET 2013;INFO;Bluetooth MessageHandler;File Received From VMw-1001500;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;socket closed;"4.2.1"
Mon Jan 07 13:38:29 CET 2013;ERROR;BluetoothCommunicator;read failed, socket might closed, read ret: -1;"4.2.1"

这看起来应该,但是 excel 格式我的 .csv 不知何故?

4

1 回答 1

1

这是 Excel 的一个“功能”,它会自动将看起来像日期的字符串解析为日期。您的 CSV 没有问题。

我不确定如何在 Excel 中关闭它,但这个问题可能会对您有所帮助:Excel 更改日期格式。我猜当您导入 CSV 时,您可以“将日期列预格式化为文本”。YMMV。

于 2013-01-07T13:27:13.713 回答