91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java實現兩個文件的異或運算

發布時間:2020-09-04 14:07:37 來源:腳本之家 閱讀:112 作者:卡夫卡的DOVE 欄目:編程語言

本文實例為大家分享了java實現兩個文件的異或運算的具體代碼,供大家參考,具體內容如下

以下代碼是將兩個大小相同的文件異或之后生成一個新的文件,具體思想是用FileInputStream方法讀取文件,以字節為單位對兩個文件進行異或運算,然后用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 
  { 
    //創建字節輸入流 
    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();//計算文件的大小
  FileOutputStream fos=new FileOutputStream(outfile);

    byte[] bufa = new byte[1024]; //存放filea文件的字節數組
    byte[] bufb = new byte[1024]; //存放fileb文件的字節數組
    byte[] bufc = new byte[1024]; //存放兩個文件異或后的字節數組
    byte[] buf_yu=new byte[filesizea%1024]; //存放文件異或的最后一部分,因為文件的大小可能不是1024的整數倍,如果繼續用bufc的話輸出的文件大小會比應有值大
                        //就是最后一個字節數組沒有放滿1024個字節

    int hasReada = 0; 
    int hasReadb = 0; 

   //FileInputStream類的read()方法把讀取的流放在bufa中,并且返回字節的個數賦給hasReada
    //下面的函數就是將文件的最后一部分與其他部分分別對待
   while( ((hasReada=filea.read(bufa))>0) && ((hasReadb=fileb.read(bufb))>0) )
    {
    if(count<filesizea-filesizea%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>=filesizea-filesizea%1024 && count<filesizea)
    {

      for(int j=0; count>=filesizea-filesizea%1024 && count<filesizea ;j++)
      {
        buf_yu[j]=(byte)((bufa[j]^bufb[j]) & 0xFF);
        count++;

      }
      fos.write(buf_yu);
    }

    }
    System.out.println(count);


    filea.close(); //關閉輸入輸出流
    fileb.close(); 
    fos.close();
  } 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

如东县| 丽水市| 新绛县| 尉氏县| 鄂温| 宁武县| 淮北市| 成安县| 潮州市| 土默特右旗| 麻城市| 延长县| 安庆市| 武隆县| 闽清县| 林芝县| 长岛县| 永川市| 搜索| 分宜县| 平南县| 宝鸡市| 陵川县| 磐石市| 宁国市| 颍上县| 新建县| 舞阳县| 勃利县| 巴彦县| 策勒县| 水城县| 资源县| 濉溪县| 喀喇| 浦北县| 克什克腾旗| 望奎县| 阳春市| 武义县| 佛山市|