charbycharの比較を使用してファイルにアサートしたい。これを行うための最良の方法は何ですか?サードパーティライブラリなし。このために最もパフォーマンスが高いファイルリーダーはどれですか?
質問する
4018 次
3 に答える
14
サードパーティのライブラリに対する異議が何であるかはわかりません...車輪を再発明する必要はありません。
私は、オープンソースで広く使用されているapache.commons.ioメソッドFileUtils.contentEquals(file1, file2)
が非常に優れていることを発見しました - ここにjavadocがあります。
于 2012-05-25T08:32:27.447 に答える
1
小さなファイル (数 MB まで) の場合、I/O のストリーミングはほとんどメリットがないため、物事をシンプルに保つことができます。
Arrays.equals(Files.readAllBytes(firstFile), Files.readAllBytes(secondFile));
別のエンコーディングを使用する場合は、バイトを文字にデコードすることもできます。
boolean equal = new String(Files.readAllBytes(firstFile), firstEncoding).equals(
new String(Files.readAllBytes(secondFile), secondEncoding));
これには Java 7 のみが必要です。
于 2015-12-21T16:40:03.723 に答える