LoginSignup
2
4

More than 3 years have passed since last update.

テキストの改行が無視されて1行で表示されるときの対応

Last updated at Posted at 2018-10-08

Windows環境で、テキストファイル(設定ファイル、ログなど)をテキストエディタで開いたときに、改行が無視されて1行で表示されることがあります。検索を使って無理やり参照する破目になったり、編集がやりにくかったりします。

テキストの改行が無視されて1行で表示される原因と対応方法について考えてみます。

原因

改行を表す文字はOS毎に差異があります。
※文字コードはSJIS、UTF8

文字 文字コード OS
CR + LF 0x0d0a Windows
LF 0x0a Linux、Mac(OS X以降)
CR 0x0d Mac(OS 9以前)

テキストファイルで使用している改行文字に、テキストエディタが対応していないと、改行が無視されて1行で表示されてしまいます。

例)Windowsのメモ帳で、改行がLinux形式のLFで書かれたファイルを開く。

対応方法

対応方法を羅列してみます。

さくらエディタを使う

全ての改行文字に対応したテキストエディタを使えばいい、ということでサクラエディタを使います。zip版なら本番サーバで使用しても大丈夫な場合が多いかと思います。
サクラエディタでは改行文字の違いは矢印の違いにより表されます。

改行文字がCR + LFのとき、
crlf.png

改行文字がLFのとき、
lf.png

改行文字がCRのとき、
cr.png

Enterキーで改行を新たに入力すると、そのファイルの改行文字が入力される。
(改行文字LFに一行追加)
lf2.png

メモ帳の対応を待つ

本番サーバだとテキストエディタを新たにインストールできないこともあるので、ビルトインのメモ帳が全ての改行文字に対応すると嬉しいですね。Windows 10 Insider Previewで既に公開されており、今後リリース予定とのことです。
https://blogs.msdn.microsoft.com/commandline/2018/05/08/extended-eol-in-notepad/

Javaで編集するとき

Javaでテキストファイルを編集するときは、System.lineSeparator()を使い、自動的にOSに依存した改行コードが出力されます。
そのため改行文字がLFのファイルをWindows環境で編集すると、LFとCR+LFが混在してしまうので別途対応が必要です。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4