本文實(shí)例為大家分享了java實(shí)現(xiàn)兩個(gè)文件的異或運(yùn)算的具體代碼,供大家參考,具體內(nèi)容如下
十多年的鎮(zhèn)遠(yuǎn)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整鎮(zhèn)遠(yuǎn)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“鎮(zhèn)遠(yuǎn)網(wǎng)站設(shè)計(jì)”,“鎮(zhèn)遠(yuǎn)網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
以下代碼是將兩個(gè)大小相同的文件異或之后生成一個(gè)新的文件,具體思想是用FileInputStream方法讀取文件,以字節(jié)為單位對(duì)兩個(gè)文件進(jìn)行異或運(yùn)算,然后用FileOutputStream方法輸出文件,具體代碼如下:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test { int i=0; static int count=0; public static void main(String[] args) throws IOException { //創(chuàng)建字節(jié)輸入流 FileInputStream filea = new FileInputStream("d:\\JavaXor\\a"); FileInputStream fileb = new FileInputStream("d:\\JavaXor\\b"); File outfile=new File("d:\\JavaXor\\outfile"); int filesizea=filea.available();//計(jì)算文件的大小 FileOutputStream fos=new FileOutputStream(outfile); byte[] bufa = new byte[1024]; //存放filea文件的字節(jié)數(shù)組 byte[] bufb = new byte[1024]; //存放fileb文件的字節(jié)數(shù)組 byte[] bufc = new byte[1024]; //存放兩個(gè)文件異或后的字節(jié)數(shù)組 byte[] buf_yu=new byte[filesizea%1024]; //存放文件異或的最后一部分,因?yàn)槲募拇笮】赡懿皇?024的整數(shù)倍,如果繼續(xù)用bufc的話輸出的文件大小會(huì)比應(yīng)有值大 //就是最后一個(gè)字節(jié)數(shù)組沒有放滿1024個(gè)字節(jié) int hasReada = 0; int hasReadb = 0; //FileInputStream類的read()方法把讀取的流放在bufa中,并且返回字節(jié)的個(gè)數(shù)賦給hasReada //下面的函數(shù)就是將文件的最后一部分與其他部分分別對(duì)待 while( ((hasReada=filea.read(bufa))>0) && ((hasReadb=fileb.read(bufb))>0) ) { if(count=filesizea-filesizea%1024 && count =filesizea-filesizea%1024 && count
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。