最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用ByteArrayOutputStream寫入字符串方式

 更新時(shí)間:2021年12月10日 11:03:28   作者:GuoKe0o0  
這篇文章主要介紹了使用ByteArrayOutputStream寫入字符串方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用ByteArrayOutputStream寫入字符串

package com.gk;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
/**
 * 使用ByteArrayOutputStream寫入字符串
 * @author GuoKe
 *說明:1,不關(guān)聯(lián)源	2.可以不釋放資源	3.使用toByteArray()獲取數(shù)據(jù)
 */
public class IOTest8 {
	public static void main(String[] args) {
		
		byte[] dest = null;
		
		ByteArrayOutputStream bs = null;
		
		try {
			bs = new ByteArrayOutputStream();
			
			String str = "hello";
			byte[] datas = str.getBytes();
			bs.write(datas,0,datas.length);
			bs.flush();
			dest = bs.toByteArray();
			System.out.println(dest.length + ":" + new String(dest,0,dest.length/*bs.size()*/));
		}catch(FileNotFoundException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}finally {
			try {
				if (bs != null) {//alt+shift+z
					bs.close();
				} 
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

文件與二進(jìn)制數(shù)據(jù)互轉(zhuǎn)-ByteArrayOutputStream

// 獲取二進(jìn)制數(shù)據(jù)
public static byte[] getFileBinary(String filePath) {
    FileInputStream fis = null;
    BufferedInputStream bis = null;
    ByteArrayOutputStream baos = null;
    try {
        fis = new FileInputStream(filePath);
        bis = new BufferedInputStream(fis);
        baos = new ByteArrayOutputStream();
        int c = bis.read();
        while (c != -1) {
            // 數(shù)據(jù)存儲到ByteArrayOutputStream中
            baos.write(c);
            c = bis.read();
        }
        fis.close();
        bis.close();
        // 轉(zhuǎn)換成二進(jìn)制
        return baos.toByteArray();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        // 沒有關(guān)閉ByteArrayOutputStream流的意義,空實(shí)現(xiàn)
        try {
            if (fis != null ) {
                fis.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bis != null ) {
                    bis.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return null;
}
 
// 二進(jìn)制數(shù)據(jù)轉(zhuǎn)成文件
public static void binaryToFile(byte[] bytes, String filePath) {
    FileOutputStream fos = null;
    BufferedOutputStream bos = null;
    try {
        fos = new FileOutputStream(filePath);
        bos = new BufferedOutputStream(fos);
        bos.write(bytes);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (fos != null ) {
                fos.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (bos != null ) {
                    bos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

ByteArrayOutputStream沒有執(zhí)行close()的意義,原因:底層空實(shí)現(xiàn)(源碼如下)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式

    mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式

    這篇文章主要介紹了mybatis的映射xml中動(dòng)態(tài)設(shè)置orderby方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Springboot Maven打包跳過測試的五種方式小結(jié)

    Springboot Maven打包跳過測試的五種方式小結(jié)

    本文主要介紹了Springboot Maven打包跳過測試的五種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java中的通用路徑轉(zhuǎn)義符介紹

    Java中的通用路徑轉(zhuǎn)義符介紹

    這篇文章主要介紹了Java中的通用路徑轉(zhuǎn)義符介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 解決SpringBoot2.1.0+RocketMQ版本沖突問題

    解決SpringBoot2.1.0+RocketMQ版本沖突問題

    這篇文章主要介紹了解決SpringBoot2.1.0+RocketMQ版本沖突問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 在springboot中如何集成clickhouse進(jìn)行讀寫操作

    在springboot中如何集成clickhouse進(jìn)行讀寫操作

    本文介紹了在Spring Boot中集成ClickHouse的步驟,包括引入依賴、配置數(shù)據(jù)源、編寫實(shí)體類和Mapper類進(jìn)行CRUD操作,特別提到批量插入時(shí)需要在SQL語句中添加`FORMAT`以避免錯(cuò)誤,在實(shí)際應(yīng)用中,與MySQL的操作類似,只需將ClickHouse當(dāng)作MySQL使用
    2024-11-11
  • protobuf簡介及使用流程

    protobuf簡介及使用流程

    本文介紹了Protocol Buffers(protobuf)的數(shù)據(jù)結(jié)構(gòu)序列化和反序列化框架,包括其特點(diǎn)、使用流程和快速上手,通過一個(gè)簡單的通訊錄示例,展示了如何創(chuàng)建.proto文件、添加注釋、編寫消息定義、編譯.proto文件以及進(jìn)行序列化和反序列化操作,感興趣的朋友一起看看吧
    2025-02-02
  • 詳解Java設(shè)計(jì)模式之備忘錄模式的使用

    詳解Java設(shè)計(jì)模式之備忘錄模式的使用

    這篇文章主要介紹了Java設(shè)計(jì)模式之備忘錄模式的使用,備忘錄模式中的發(fā)起者和管需要的朋友可以參考下
    2016-02-02
  • 在Java中實(shí)現(xiàn)讓線程按照自己指定的順序執(zhí)行

    在Java中實(shí)現(xiàn)讓線程按照自己指定的順序執(zhí)行

    這篇文章主要介紹了在Java中實(shí)現(xiàn)讓線程按照自己指定的順序執(zhí)行,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java排序算法之冒泡排序

    java排序算法之冒泡排序

    這篇文章主要為大家詳細(xì)介紹了java排序算法之冒泡排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • 使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯(cuò)誤的解決

    使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯(cuò)誤的解決

    這篇文章主要介紹了使用JDBC連接Mysql 8.0.11出現(xiàn)了各種錯(cuò)誤的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

五原县| 雅安市| 西乌珠穆沁旗| 鱼台县| 阳春市| 禄丰县| 隆尧县| 平遥县| 稷山县| 林口县| 乐清市| 巴青县| 濮阳市| 防城港市| 瑞丽市| 芷江| 高邑县| 小金县| 上高县| 庄浪县| 织金县| 高密市| 平泉县| 勐海县| 本溪市| 罗定市| 兴宁市| 陆良县| 泗洪县| 新安县| 丁青县| 奈曼旗| 新津县| 奇台县| 五大连池市| 扎鲁特旗| 聊城市| 仪陇县| 荥经县| 新疆| 界首市|