3

charbycharの比較を使用してファイルにアサートしたい。これを行うための最良の方法は何ですか?サードパーティライブラリなし。このために最もパフォーマンスが高いファイルリーダーはどれですか?

4

3 に答える 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 に答える