0

CSVファイルを解析しているのですが、 jpegpdfなどの違法なファイルにぶつかる可能性があります...

したがって、ファイルの内容を解析するときに、文字が5&%のように正当である(キーボードから取得された)かどうかを判断したいと思います。や。。など...

しかし、このような文字ではありません:�ַおよび画像 pdfやその他のファイル内にあるその他の奇妙な文字

ファイルのmimeタイプを確認したくないので、この問題を解決するためにサードパーティのjarをいくつか追加したくないので、解析中のファイルの文字を調べて有効であることを確認したいと思います。

Character.isLetterOrDigitその文字がキーボードから入力された文字なのか、それとも��ַのような奇妙な文字なのかを判断できるのは、それに似たものですか。

*もう1つ、英語だけでなくさまざまな言語の文字を受け入れることができるようにする必要があるので、などのように単純な文字を比較することは避けたいと思いc <= 32 && c >= 126ます...


ところで、一般的に私はこの質問で説明されている問題への答えを探していますJavaでのCSVファイルの検証

4

1 に答える 1

3

組み込み関数を探している場合、私はそれを知りません。ただし、charの ascii 値を見て、好みに合わせてフィルタリングすることはできます。値については、この ASCII テーブルを確認してください。

たとえば、ASCII 値が の場合、<= 32 && >= 126それを受け入れません。そうしないと、次のことを行います。

public boolean isValid(char c) {
    if (c <= 32 && c >= 126) {
        return false;
    } else {
        return true;
    }
}

行全体を操作する場合 / String、これを使用して有効な文字を取り除き、無効な文字が残っているかどうかを判断できる場合があります。

public boolean isValid(String s) {
    return s.replaceAll("\\w|\\p{Punct}", "").length() == 0;
}
于 2012-07-18T19:11:33.110 に答える