【Dart】ファイルの改行で分割するのに\r\nは使ってはいけない

対象者

  • DartやFlutterで改行ごとにデータを分割しようとしている人

はじめに

FlutterでCSVファイルを読み込むコードを書きました。
CSVを読み込む箇所と、読み込んだデータを処理箇所を別のクラスに作成しています。そのため、読み込んだファイルのStringをそのまま別クラスのメソッドに引数で渡しました。
検索すると、「split(‘\r\n’)」とあったので、コピペして使用しました。
Androidではちゃんと動作したのですが、iPhone で実施すると、うまくファイルを分割してくれませんでエラーが発生しました。

実施するソース

fileはStringでファイルの中身が全部入ってます。

良い例

 List<String> lines = LineSplitter.split(file)

駄目な例

 List<String> lines = file.split('\r\n');

まとめ

ということで、ファイルの中身の文字列を改行で分割する方法を説明しました。
ただ、全部のデータを読み取るより、行毎にデータを取得して処理する方が小さいメモリですむので、良いです。