Contoh ini membagikan kode spesifik untuk Java untuk mengimplementasikan operasi XOR dari dua file untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Kode berikut adalah menghasilkan file baru setelah dua file dengan ukuran yang sama. Gagasan spesifiknya adalah menggunakan metode FileInputStream untuk membaca file, melakukan operasi XOR pada dua file dalam byte, dan kemudian menggunakan metode FileOutputStream untuk meng -output file. Kode spesifiknya adalah sebagai berikut:
impor java.io.file; impor java.io.fileInputStream; impor java.io.fileoutputStream; import java.io.ioException; tes kelas publik {int i = 0; Count int statis = 0; public static void main (string [] args) melempar ioException {// buat byte stream input fileInputStream filea = new FileInputStream ("d: // javaxor // a"); FileInputStream FileB = FileInputStream baru ("d: // javaxor // b"); File outfile = file baru ("d: // javaxor // outfile"); int filesizea = filea.available (); // Hitung ukuran file fileOutputStream fos = new fileoutputStream (outfile); byte [] bufa = byte baru [1024]; // array byte penyimpanan byte file filea [] bufb = byte baru [1024]; // array byte penyimpanan byte file file [] bufc = byte baru [1024]; // penyimpanan array byte setelah dua file xor byte [] buf_yu = byte baru [Fileizea%1024]; // Menyimpan bagian terakhir dari file XOR, karena ukuran file mungkin bukan kelipatan bilangan bulat 1024. Jika Anda terus menggunakan BUFC, ukuran file output akan lebih besar dari nilai./ yaitu, array byte terakhir tidak diisi dengan 1024 byte int hasreada = 0; int hasreadb = 0; // Metode baca () dari kelas fileInputStream menempatkan aliran baca di bufa dan berikan jumlah byte ke hasreada // fungsi berikut memperlakukan bagian terakhir dari file dan bagian lain masing -masing while (((hasreada = filea.read (bufa))> 0) && ((hasreada = fileb.readb (BuFa))> 0) && ((hasreadb = fileb.readb (BUFA))> 0) & & (hasreadb = fileb.readb (BuFa))> 0) & & (hasreadb = fileB.readb (BuFa))> 0) & & if (count <filesizea-filesize%1024) {for (int i = 0; i <bufa.length && count <filesizea-filesizea%1024; i ++) {bufc [i] = (byte) ((bufa [i]^bufb [i]) & 0xff); Count ++; } fos.write (bufc); } else if (count> = Fileizea-Filesize%1024 && count <filesizea) {for (int j = 0; count> = Fileizea-Filesizea%1024 && count <filesizea) {for (int j = 0; count> = Fileizezea-Filesize%1024 && count <filesizeA; j ++) {j ++) {j ++) {j ++) {j ++) {j ++) {j ++) {j ++) {j ++) buf_yu [j] = (byte) ((bufa [j]^bufb [j]) & 0xff); Count ++; } fos.write (buf_yu); }} System.out.println (Count); filea.close (); // tutup input dan output stream FileB.close (); fos.close (); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.