【问题标题】:Carriage returns/line breaks with \n in strings in AndroidAndroid中字符串中的回车/换行符
【发布时间】:2012-01-31 09:18:02
【问题描述】:

我正在编写一个 Android 应用程序,我正在将一个文件写入磁盘,每行一个数据值。稍后,可以将此类文件读回应用程序,并将这种简单的数据格式反序列化回数组。目前,我正在使用\n 描述序列化和反序列化代码中的数据值/行。

Android 如何处理回车和换行? 我可以在这种情况下安全地使用\n吗?

【问题讨论】:

    标签: java android string newline carriage-return


    【解决方案1】:

    是的,Windows 下的行分隔符是\r\n (CR+LF),Mac 上是\r,Linux (Android) 上是\n。 Java 有一个聪明的阅读器,它返回不带分隔符的行,以及一个使用平台设置 System.getProperty("line.separator") 的 println。

    【讨论】:

    • 维基百科说较新的 Mac (OS X) 像 Linux 一样使用 \n。见:en.wikipedia.org/wiki/Newline
    • 0x15 字符 EBCDIC NEL 也被视为换行符。
    【解决方案2】:

    更好用

    String lineSep = System.getProperty("line.separator");
    

    【讨论】:

      【解决方案3】:

      1 - 就像我之前的两个人一样,System.getProperty("line.separator") 是你的朋友。

      2 - 由于 android 基于 linux,line.separator 属性实际上很可能是 \n

      3 - 在读取或写入文件时,使用缓冲读取器和写入器分别使用它们的方法 readLinenewLine。处理来自/用于其他平台的输入/输出文件应该不会有任何问题。

      【讨论】:

        猜你喜欢
        • 2017-12-11
        • 1970-01-01
        • 1970-01-01
        • 2014-05-17
        • 2013-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多