0

テキスト ファイルを解析して、データ テーブルに読み込まれるフィールドを抽出する Java アプリケーションを作成しました。テーブルが特殊文字などを受け入れることができないいくつかの例外処理を発見していますÂ

これらの文字は、入力ファイルを見るとスペースとして表示されますが、Java では別の方法で解釈されます。文字コードの解釈が違うのではないかと思います。

私の質問は次のとおりです。これらの文字を除外するために、Java が見ているもののリストを生成する方法はありますか? CHAR と文字コード、可能であれば文字 ~set~ (ASCII、ANSI、UTF-8 など) を印刷することを考えています。それから、終了ファイルの文字をスペースに置き換えて、問題を解決できました。

私が見ていないより簡単な解決策はありますか?

4

2 に答える 2

1

デコードして、UTF8と言ってみてください。

public static byte[] stringToByteArray(String s)
    throws UnsupportedEncodingException {
    return s.getBytes("UTF-8");
}

または、「iso-8859-1」のような他のもので、そのバイト配列を文字列に変換して印刷してみますか?

于 2012-05-09T13:05:27.083 に答える
1

文字セットを交差させているか、入力ファイルに何らかの制御文字シーケンスが含まれているようです。その側面に注力し、適切な文字セットで作業していることを確認する必要があります。ファイル内の文字のリストをロールアップするために私が考えることができる唯一の方法は、配列とファイルをループすることです。

本当にすべてのものを取り除きたい場合は、このスレッドをチェックしてください

特殊文字を除外するための正規表現

正規表現を使用して文字をホワイトリストおよびブラックリストに登録する方法について説明します。

于 2012-05-09T13:06:59.877 に答える