자바 처리 그림 base 64 인 코딩 변환 실현

2932 단어 Java그림.base64
머리말
환경:이 코드 를 사용 하기 전:JDk 가 JAVA 8 이상 인지 확인 하 십시오.
개발 테스트 주소:http://imgbase64.duoshitong.com/실행 여 부 를 확인 할 수 있 습 니 다.

주의 사항
일반 플러그 인 이 되 돌려 주 는 base 64 인 코딩 문자열 은 접두사 가 있 습 니 다."data:image/jpeg;base 64,"디 코딩 하기 전에 이거 빼 야 돼 요."
Code
MainTest

/**
   *   
   * @throws UnsupportedEncodingException 
   * @throws FileNotFoundException 
   */
  @SuppressWarnings("resource")
  public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
    String strImg = getImageStr("Z:\\  \\2.bmp");
    System.out.println(strImg);
    File file = new File("z://1.txt");
    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    try {
      osw.write(strImg);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    //generateImage(strImg, "Z:\\  \\444.bmp");
    
  }
암호 화:

**
   * @Description:          base64     
   * @Author:
   * @CreateTime:
   * @return
   */
  public static String getImageStr(String imgFile) {
    InputStream inputStream = null;
    byte[] data = null;
    try {
      inputStream = new FileInputStream(imgFile);
      data = new byte[inputStream.available()];
      inputStream.read(data);
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    //   
    Encoder encoder = Base64.getEncoder();
    return encoder.encodeToString(data);
  }
복호화:

/**
   * @Description:  base64          
   * @Author: 
   * @CreateTime: 
   * @param imgStr base64     
   * @param path     -     
   * @return
  */
  public static boolean generateImage(String imgStr, String path) {
      if (imgStr == null)
        return false;
      //   
      try {
        Decoder decoder = Base64.getDecoder();
        byte[] b = decoder.decode(imgStr);
        //     
        for (int i = 0; i < b.length; ++i) {
          if (b[i] < 0) {
          b[i] += 256;
          }
        }
        OutputStream out = new FileOutputStream(path);
        out.write(b);
        out.flush();
        out.close();
        return true;
      } catch (IOException e) {
        return false;
      }
  }
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기