<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java如何讀取文件內容再編輯

    時間:2024-10-16 15:58:27 SUN認證 我要投稿
    • 相關推薦

    Java如何讀取文件內容再編輯

      有時候,我們需要將讀取文件的內容到一個byte[] 數組中,然后對這個數組進行一些修改,這時,我們可以借助于ByteArrayOutputStream 這個類來實現。

    Java如何讀取文件內容再編輯

      ByteArrayOutputStream,顧名思義,同樣是一個OutputStream,那么,對于它的寫入操作,和其他的 OutputStream應該是沒有什么兩樣,寫入代碼可以說是隨手拈來的,與其他輸出流的不同之處在于,ByteArrayOutputStream寫入到內存中,并提供一個 toByteArray() 方法返回我們所需要的byte[]。

      Java代碼

      //保存上傳的附件信息

      String filename = files[0];

      String filepath = "upload/append/"+files[1];

      BufferedInputStream in = new BufferedInputStream(new FileInputStream(filepath));

      ByteArrayOutputStream out = new ByteArrayOutputStream(2048);

      System.out.println("available bytes"+in.available());

      byte[] temp = new byte[2048];

      int size =0;

      while((size = in.read(temp))!=-1){ out.write(temp,0,size);

      }

      in.close();

      byte[] content = out.toByteArray();

      String stream = new BaseCode64().EncodeBase64(content);

      System.out.println("content" +content.length);

      effect += insertAttachmentInfo(conn,attNo,processId,filename,stream);

      這里把讀取的流以base64保存,使用了類BaseCode64()的方法EncodeBase64。

      代碼如下:

      Java代碼

      package com.ving.xzfw.util;

      import java.io.ByteArrayOutputStream;

      public class BaseCode64 {

      private String TableBase64;

      private String FError;

      public BaseCode64()

      {

      TableBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

      FError = new String();

      FError = "";

      }

      public String DecodeBase64(byte [] Value){

      ByteArrayOutputStream o = new ByteArrayOutputStream();

      byte d[] = new byte[4];

      try

      {

      int count = 0;

      byte x[] = Value;

      do

      {

      if(count >= x.length)

      {

      break;

      }

      for(int n = 0; n <= 3; n++)

      {

      if(count >= x.length)

      {

      d[n] = 64;

      } else

      {

      int y = TableBase64.indexOf(x[count]);

      if(y < 0)

      {

      y = 65;

      }

      d[n] = (byte)y;

      }

      count++;

      }

      o.write((byte)(((d[0] & 0x3f) << 2) + ((d[1] & 0x30) >> 4)));

      if(d[2] != 64)

      {

      o.write((byte)(((d[1] & 0xf) << 4) + ((d[2] & 0x3c) >> 2)));

      if(d[3] != 64)

      {

      o.write((byte)(((d[2] & 3) << 6) + (d[3] & 0x3f)));

      }

      }

      } while(true);

      }

      catch(StringIndexOutOfBoundsException e)

      {

      FError = String.valueOf(String.valueOf(FError)) + String.valueOf(String.valueOf(e.toString()));

      System.out.println(e.toString());

      }

      return o.toString();

      }

      public String EncodeBase64(byte [] Value){

      ByteArrayOutputStream o = new ByteArrayOutputStream();

      byte d[] = new byte[4];

      try

      {

      int count = 0;

      for(byte x[] = Value; count < x.length;)

      {

      byte c = x[count];

      count++;

      d[0] = (byte)((c & 0xfc) >> 2);

      d[1] = (byte)((c & 3) << 4);

      if(count < x.length)

      {

      c = x[count];

      count++;

      d[1] = (byte)(d[1] + (byte)((c & 0xf0) >> 4));

      d[2] = (byte)((c & 0xf) << 2);

      if(count < x.length)

      {

      c = x[count];

      count++;

      d[2] = (byte)(d[2] + ((c & 0xc0) >> 6));

      d[3] = (byte)(c & 0x3f);

      } else

      {

      d[3] = 64;

      }

      } else

      {

      d[2] = 64;

      d[3] = 64;

      }

      int n = 0;

      while(n <= 3)

      {

      o.write(TableBase64.charAt(d[n]));

      n++;

      }

      }

      }

      catch(StringIndexOutOfBoundsException e)

      {

      FError = String.valueOf(String.valueOf(FError)) + String.valueOf(String.valueOf(e.toString()));

      System.out.println(e.toString());

      }

      return o.toString();

      }

      }

    【Java如何讀取文件內容再編輯】相關文章:

    Android讀取本地json文件的方法07-06

    Java文件解壓縮示例08-21

    新建立的網站如何編輯用戶喜歡的內容06-19

    php使用fgetcsv讀取csv文件出現亂碼怎么辦08-16

    java認證考試培訓內容06-25

    Java文件解壓縮實例詳解201607-26

    如何編譯java程序09-28

    用PHP腳本在Linux系統上讀取輸入和對文件進行操作10-28

    TTF字體文件如何安裝11-03

    Excel文件如何設置密碼08-25

    主站蜘蛛池模板: 国产精品嫩草影院AV| 国产高清在线精品一区小说| 亚洲国产精品一区二区第一页免| 午夜精品久久久久久久无码| 久久综合国产乱子伦精品免费| 99在线精品一区二区三区| 国产成人久久精品麻豆一区| 亚洲av无码成人精品国产| 无码国产精品一区二区免费3p| 精品一区二区三区免费毛片爱| 国产香蕉精品视频在| 久久久久久亚洲精品不卡| 亚洲国产成人精品91久久久| 2022年国产精品久久久久| 精品久久久无码中文字幕天天| 欧美精品hdvideosex4k| 久久国产精品成人免费| 久久精品国产久精国产思思| 精品久久人人妻人人做精品| 亚洲精品专区| 欧美精品一区二区三区视频| 亚洲韩精品欧美一区二区三区| 国产精品揄拍100视频| 国产精品人人做人人爽| 久久狠狠高潮亚洲精品| 国产玖玖玖九九精品视频| 久久99精品九九九久久婷婷| 99国产精品永久免费视频| 成人精品视频成人影院| 国内精品九九久久久精品| 亚洲天堂久久精品| 久久久国产精品福利免费| 亚洲一区二区三区在线观看精品中文| 国产精品久久久久久久久免费 | 久久99精品久久久久久9蜜桃| 精品国产a∨无码一区二区三区| 国产精品美女久久久免费| 蜜芽亚洲av无码精品色午夜 | 青青青国产精品国产精品久久久久| 亚洲精品tv久久久久久久久久| 日韩精品国产自在久久现线拍|