日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了在Java中編輯二進制文件的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我需要做這個項目,從其中讀取一個二進制文件,然后創建一個新的二進制文件,該文件根據偏移量添加00。例如,如果二進制數的偏移量為02,則該二進制數將移位2。因此,二進制數的偏移量為04。中間有00。

我正在考慮使用隨機訪問文件來訪問和編輯(只讀)。但我被您要查找的字節數搞糊涂了。另外,如何編輯修改內容并將其放入全新的文件中。

致以最誠摯的問候

推薦答案

在上圖中。藍色(0x54)的第一個字節位于0x40 + 0x0E。將左側的行值與列值相加。因此,您必須讀取除該字節以外的所有內容。因此,這將被補償0x40 + 0x0D。那將是64 + 13 = 77。由于偏移量從0開始,因此請讀入前78字節,然后寫出您想要的內容。然后寫出文件的其余部分。這意味著所有的藍色都將寫在您的特殊插入之后。

這一切都是假定的,這就是你想要做的。但是您不能真正使用seek,因為這意味著您正在修改源文件,這是不明智的(因為您可能會犯錯誤,需要重新開始)。此外,搜索正在修改的文件可能會非常有問題,因為它的大小可能會不斷變化。無論如何,請確保保留該文件的備份副本。

若要進行進一步修改,請按說明繼續讀取和寫入。

這里有一個暴力的例子。可以適當地使用Try-with-Resources和循環來改進它。例外情況被推定為受到監控。此示例僅在指定位置插入兩個三元組整數,并打印新文件。

      // create a file to start
      FileOutputStream fo = new FileOutputStream("myfile.txt");
      String alpha = "abcdefghijklmnopqrstuvwxyz";
      fo.write(alpha.getBytes());
      fo.close();

      // create the new output file and open up the old one as an input
      // file
      fo = new FileOutputStream("myfile2.txt");
      FileInputStream fi = new FileInputStream("myfile.txt");
      // insert 123 after k
      byte[] buf = new byte[100];
      int count = fi.read(buf, 0, 11); // read up to and including k
      fo.write(buf, 0, count);
      fo.write("123".getBytes());
      // insert 456 after t
      count = fi.read(buf, 0, 9);
      fo.write(buf, 0, count);
      fo.write("456".getBytes());
      //copy rest of input file to output file
      while ((count = fi.read(buf, 0, 10)) > 0) {
         fo.write(buf, 0, count);
      }
      fo.close();
      fi.close();

      fi = new FileInputStream("myfile2.txt");
      byte[] buffer = fi.readAllBytes();
      for (byte b : buffer) {
         System.out.print((char) b);
      }
      System.out.println();
      fi.close();
   }

這篇關于在Java中編輯二進制文件的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Java 二進制文件 編輯
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定