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

JAVA文件讀寫操作詳解

 更新時(shí)間:2022年02月07日 16:11:00   作者:WynnNi  
這篇文章主要為大家詳細(xì)介紹了JAVA文件讀寫操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一、讀文件BufferedInputStream

BufferedInputStream必須傳入一個(gè)InputStream(一般是FileInputStream)

常用方法:

從該輸入流中讀取一個(gè)字節(jié) public int read();

從此字節(jié)輸入流中給定偏移量處開始將各字節(jié)讀取到指定的 byte 數(shù)組中。

public int read(byte[] b,int off,int len)

應(yīng)用實(shí)例:

import java.io.BufferedInputStream;
import java.io.FileInputStream;

/**
 * BufferedInputStream:緩沖輸入流
 * FileInputStream:文件輸入流
 */
public class FileReadToString {
    public static void main(String[] args){
        try {
            FileInputStream fis=new FileInputStream("WynnNi.txt");
            BufferedInputStream bis=new BufferedInputStream(fis);
            String content=null;
             //自定義緩沖區(qū)
            byte[] buffer=new byte[10240];
            int flag=0;
            while((flag=bis.read(buffer))!=-1){
                content+=new String(buffer, 0, flag);
            }
            System.out.println(content);
            //關(guān)閉的時(shí)候只需要關(guān)閉最外層的流就行了
            bis.close();
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}

二、寫文件BufferedOutputStream

創(chuàng)建一個(gè)新的緩沖輸出流,以將數(shù)據(jù)寫入指定的底層輸出流。

常用方法:

//向輸出流中輸出一個(gè)字節(jié)
public void write(int b);

//將指定 byte 數(shù)組中從偏移量 off 開始的 len 個(gè)字節(jié)寫入此緩沖的輸出流。
public void write(byte[] b,int off,int len);

//刷新此緩沖的輸出流。這迫使所有緩沖的輸出字節(jié)被寫出到底層輸出流中。
public void flush();

應(yīng)用實(shí)例

/**
 * BufferedOutputStream:緩沖輸出流
 * FileOutPutStream:文件輸出流
 */
public class StringOutPutToFile {
    public static void main(String[] args){
        try {
            FileOutputStream fos=new FileOutputStream("WynnNi.txt");
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            String content="xxxxxxxxx!";
            bos.write(content.getBytes(),0,content.getBytes().length);
            bos.flush();
            bos.close();
        } catch (Exception e) {
                e.printStackTrace();
        }
    }
}

三、實(shí)際應(yīng)用場景

被調(diào)用方如何將文件傳輸給調(diào)用方并在本地輸出文件

1、被調(diào)用方將文件讀入緩沖區(qū)byte[]

2、將緩沖區(qū)數(shù)據(jù)轉(zhuǎn)換成String傳遞,String str = Base64.getEncoder().encodeToString(bytes);

3、接收方將String反轉(zhuǎn)為byte[],bytes=Base64.getDecoder().decode(str);

4、接收方將緩沖區(qū)輸出到文件

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!         

相關(guān)文章

  • Java線程的五種狀態(tài)介紹

    Java線程的五種狀態(tài)介紹

    本文主要為大家詳細(xì)介紹一下Java實(shí)現(xiàn)線程創(chuàng)建的五種寫法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)有一定的幫助,感興趣的可以跟隨小編學(xué)習(xí)一下
    2022-08-08
  • mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    mybatis引用其他文件中的sql片段的實(shí)現(xiàn)

    Mybatis中也是支持引用其他Mapper文件中的SQL片段的,本文就來介紹一下如何使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 解決MyBatis返回結(jié)果類型為Boolean的問題

    解決MyBatis返回結(jié)果類型為Boolean的問題

    這篇文章主要介紹了解決MyBatis返回結(jié)果類型為Boolean的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Springboot集成graylog及配置過程解析

    Springboot集成graylog及配置過程解析

    這篇文章主要介紹了Springboot集成graylog及配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java中使用回調(diào)函數(shù)的方法實(shí)例

    Java中使用回調(diào)函數(shù)的方法實(shí)例

    本文主要介紹了Java中使用回調(diào)函數(shù)的方法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Java實(shí)現(xiàn)遠(yuǎn)程控制技術(shù)完整源代碼分享

    Java實(shí)現(xiàn)遠(yuǎn)程控制技術(shù)完整源代碼分享

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)遠(yuǎn)程控制技術(shù)完整源代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 簡單總結(jié)單例模式的4種寫法

    簡單總結(jié)單例模式的4種寫法

    今天帶大家學(xué)習(xí)java的相關(guān)知識,文章圍繞著單例模式的4種寫法展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • IntelliJ IDEA 中使用jRebel進(jìn)行 Java 熱部署教程圖解

    IntelliJ IDEA 中使用jRebel進(jìn)行 Java 熱部署教程圖解

    Rebel是一款JAVA虛擬機(jī)插件,它使得JAVA程序員能在不進(jìn)行重部署的情況下,即時(shí)看到代碼的改變對一個(gè)應(yīng)用程序帶來的影響。本文通過圖文并茂的形式給大家介紹了IntelliJ IDEA 中使用jRebel進(jìn)行 Java 熱部署教程圖解,需要的朋友參考下吧
    2018-04-04
  • 使用Log4j2代碼方式配置實(shí)現(xiàn)線程級動(dòng)態(tài)控制

    使用Log4j2代碼方式配置實(shí)現(xiàn)線程級動(dòng)態(tài)控制

    這篇文章主要介紹了使用Log4j2代碼方式配置實(shí)現(xiàn)線程級動(dòng)態(tài)控制,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java編程接口調(diào)用的作用及代碼分享

    Java編程接口調(diào)用的作用及代碼分享

    這篇文章主要介紹了Java編程接口調(diào)用的作用及代碼分享,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11

最新評論

铁岭县| 蓬莱市| 额尔古纳市| 井冈山市| 日照市| 四会市| 扬州市| 惠水县| 宜兰市| 渝北区| 永仁县| 阿克| 盐边县| 靖远县| 汤阴县| 商水县| 襄城县| 甘洛县| 安远县| 呼玛县| 库车县| 宁化县| 新河县| 南投市| 资中县| 长葛市| 竹北市| 东明县| 荆门市| 山阳县| 东乌珠穆沁旗| 东阳市| 平安县| 宜丰县| 外汇| 民权县| 祥云县| 旅游| 石狮市| 垫江县| 吴旗县|