欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA文件讀寫(xiě)操作詳解

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

一、讀文件BufferedInputStream

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

常用方法:

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

從此字節(jié)輸入流中給定偏移量處開(kāi)始將各字節(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();
        }
    }
}

二、寫(xiě)文件BufferedOutputStream

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

常用方法:

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

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

//刷新此緩沖的輸出流。這迫使所有緩沖的輸出字節(jié)被寫(xiě)出到底層輸出流中。
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)用場(chǎ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é)

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

相關(guān)文章

  • Java比較器實(shí)現(xiàn)方法項(xiàng)目案例

    Java比較器實(shí)現(xiàn)方法項(xiàng)目案例

    這篇文章主要介紹了Java比較器實(shí)現(xiàn)方法,結(jié)合具體項(xiàng)目案例形式分析了Java比較器相關(guān)排序操作技巧,需要的朋友可以參考下
    2019-03-03
  • 詳解Kotlin中如何實(shí)現(xiàn)類似Java或C#中的靜態(tài)方法

    詳解Kotlin中如何實(shí)現(xiàn)類似Java或C#中的靜態(tài)方法

    Kotlin中如何實(shí)現(xiàn)類似Java或C#中的靜態(tài)方法,本文總結(jié)了幾種方法,分別是:包級(jí)函數(shù)、伴生對(duì)象、擴(kuò)展函數(shù)和對(duì)象聲明。這需要大家根據(jù)不同的情況進(jìn)行選擇。
    2017-05-05
  • 詳解Java List的擴(kuò)容機(jī)制原理及應(yīng)用

    詳解Java List的擴(kuò)容機(jī)制原理及應(yīng)用

    在Java中,List是一種非常常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)有序的元素集合,本文將分析Java List的擴(kuò)容機(jī)制原理,并通過(guò)示例代碼和測(cè)試代碼來(lái)加強(qiáng)闡述內(nèi)容,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • springboot log多環(huán)境配置方式

    springboot log多環(huán)境配置方式

    這篇文章主要介紹了springboot log多環(huán)境配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • spring aop之鏈?zhǔn)秸{(diào)用的實(shí)現(xiàn)

    spring aop之鏈?zhǔn)秸{(diào)用的實(shí)現(xiàn)

    這篇文章主要介紹了spring aop之鏈?zhǔn)秸{(diào)用的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • 詳解JUC并發(fā)編程中的進(jìn)程與線程學(xué)習(xí)

    詳解JUC并發(fā)編程中的進(jìn)程與線程學(xué)習(xí)

    這篇文章主要為大家詳細(xì)介紹了JUC并發(fā)編程中的進(jìn)程與線程學(xué)習(xí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Java Socket實(shí)現(xiàn)簡(jiǎn)易聊天室

    Java Socket實(shí)現(xiàn)簡(jiǎn)易聊天室

    這篇文章主要為大家詳細(xì)介紹了Java Socket實(shí)現(xiàn)簡(jiǎn)易聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 不規(guī)范使用ThreadLocal導(dǎo)致bug分析解決

    不規(guī)范使用ThreadLocal導(dǎo)致bug分析解決

    這篇文章主要為大家介紹了不規(guī)范使用ThreadLocal導(dǎo)致bug分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Java中的接口知識(shí)匯總

    Java中的接口知識(shí)匯總

    本文給大家匯總介紹了在java中的接口知識(shí),包括為什么要使用接口、什么是接口、抽象類和接口的區(qū)別、如何定義接口以及定義接口注意點(diǎn),希望大家能夠喜歡
    2016-04-04
  • IDEA消除指定警告的兩種方法小結(jié)

    IDEA消除指定警告的兩種方法小結(jié)

    有時(shí)候IDEA會(huì)代碼中給出一些我們不需要的警告,看起來(lái)就很不美觀,本文主要介紹了IDEA消除指定警告的兩種方法,感興趣的可以了解一下
    2023-08-08

最新評(píng)論