[비망록]Java/Android 실행 환경에서의 개행 코드 취득

3592 단어 안드로이드자바

개행 코드


  • CR: 복귀,\r
  • LF: 개행,\n
  • CR + LF:\r\n

  • \n 라든지\r 는 이스케이프 순서로, 16 진수의 수치로 하면 0X0A , 0X0D 같다.
    또한 Windows에서는 CR+LF, unix계에서는 LF, MacOS에서는 CR 등 실행 환경에 따라 사용하는 개행 코드가 다르다.

    실행 환경에서의 개행 코드 취득 방법


    final String BR = System.getProperty("line.separator");
    

    이제 (안드로이드뿐만 아니라)이 코드의 실행 환경에서 이스케이프 시퀀스를 얻을 수 있습니다.

    안드로이드의 개행 코드



    ↓실행해 보았다.

    안드로이드의 개행 코드는 "\n"(LF)이라는 것을 알았다.

    (덤) (아무래도 좋은 이야기) 개행 코드를 알면 여러가지 편리



    개행 코드를 알면 여러가지 편리하다.
    예를 들어, 아래의 코드는 파일을 읽는 코드의 일부이지만, bufferedReader.readLine()를 하면 문중의 개행 코드가 사라져 버린다.
    그래서, 읽은 1행을 stringBuilder에 추가한 뒤, 개행을 더하는 것으로 본래의 위치에 개행이 존재하게 된다. 여기서 올바른 개행 코드를 추가할 수 없으면 예상대로의 움직임을 할 수 없게 되어 버리므로, 상기의 방식으로 코드를 취득하면 좋을 것이다.
    물론, 알고 있는 경우는 System.getProperty()를 사용하지 않고 그대로 "\n"되어 "\r"나름을 넣으면 된다.
    FileInputStream fileInputStream = context.openFileInput(fileName);
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream, StandardCharsets.UTF_8));
    String line = bufferedReader.readLine();  // 最初の行を読み込む. 読み込み用のString変数
    while (line != null) {
            //読み込んだ行を追加する
            stringBuilder.append(line);
            //改行コードを追加する
            final String BR = System.getProperty("line.separator");
            stringBuilder.append("BR");
            //次の行読み込み
            line = bufferedReader.readLine();
    }
    

    좋은 웹페이지 즐겨찾기