3

160.000 行のファイルで少し問題があります。このファイルは xlsx ファイルからのエクスポートによって生成されたもので、拡張子は .txt ですが、DOS のようなファイルとしてエクスポートされているのではないかと心配しています。各行の終わりには DOS 改行があります。Java で記述されたパーサーを使用しており、Ubuntu 環境で実行されています。パーサーを実行すると、これが表示されます (ソース コードにアクセスできない jar の一部であるため編集できません)。NumberFormatException を取得します。数字が期待されます、私の行は次のように終わります:

4449

しかし、パーサーはそれを

For input string: "4449&#xd;"<

これに対する解決策はありますか?繰り返しますが、自分でパーサーにアクセスすることはできません。「Ubuntuマシンで」ファイルを編集し、それらの行末を削除する必要があります。

4

2 に答える 2

5

dos2unixそのファイルに対してコマンドを使用してみてください。これで行末記号が修正されるはずです。

> dos2unix winfile.txt unixfile.txt

参考:
dos2unixのmanページ

于 2013-06-20T19:08:02.633 に答える
0

パーサーは&#xd;、Windows のキャリッジ リターンである を見つけています。ただし、これらの文字を解析することはできません。ファイルに移動し、クイック コマンドを実行しますtr -d '\15\32' < winfile.txt > unixfile.txt

参考: http: //kb.iu.edu/data/acux.html

于 2013-06-20T19:13:05.600 に答える