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

Java字節(jié)流 從文件輸入輸出到文件過程解析

 更新時間:2019年09月23日 14:21:41   作者:SupermanH  
這篇文章主要介紹了Java字節(jié)流 從文件輸入 輸出到文件過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

假如需要復(fù)制一張圖片,一份word,一個rar包。可以以字節(jié)流的方式,讀取文件,然后輸出到目標(biāo)文件夾。

以復(fù)制一張4M的圖片舉例。

每次讀一個字節(jié):

ch = (char)System.in.read(); //讀入一個字符,返回讀到的字節(jié)的int表示方式,讀到末尾返回-1

復(fù)制時候一個字節(jié)一個字節(jié)的讀取、寫入,這樣是很慢的。設(shè)置一個用來緩沖的字符數(shù)組,會讓復(fù)制的過程快很多(每次讀入的字節(jié)變多)。

方便閱讀,類的名稱用中文描述

import java.io.*;
public class 字節(jié)流的緩沖區(qū) {
  public static void main(String[] args) throws Exception {
    FileInputStream in=new FileInputStream("E:\\photo\\IMG.jpg");
    //FileOutputStream中的文件不存在,將自動新建文件
    OutputStream out=new FileOutputStream("E:\\test.jpg");
    byte[] buff=new byte[1024];
    int b;
    long beginTime=System.currentTimeMillis();
    while ((b=in.read(buff))!=-1) {
      out.write(buff,0,b);
    }
    long endTime=System.currentTimeMillis();
    System.out.println("運行時長為: "+(endTime-beginTime)+"毫秒");
    in.close();
    out.close();
    System.out.println("正常運行!");
  }
}

這里設(shè)置的字節(jié)數(shù)組是1024個字節(jié)。復(fù)制的時間比一個字節(jié)一個字節(jié)的復(fù)制快很多。

//封裝了FileOutputStream管道之后,三種函數(shù)參數(shù)
//write(b) 寫入一個b
//write(byte[] b) 將字節(jié)數(shù)組全部寫入
//write(byte[] b,int off,int len) 例如write(byteTest,0,len)表示數(shù)組byteTest中從0開始長度為len的字節(jié)
//一般都用第3個

字節(jié)緩沖流

用BufferedInputStream和BufferedOutputStream來封裝FileInputStream和FileOutputStream

方便閱讀,類的名稱用中文描述

import java.io.*;
public class 字節(jié)緩沖流 {
  public static void main(String[] args) throws Exception {
    BufferedInputStream bis=new BufferedInputStream(new FileInputStream("E:\\photo\\IMG.jpg"));
    BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("E:\\test.jpg"));
    int len;
    long begintime=System.currentTimeMillis();
    while((len=bis.read())!=-1) {
      bos.write(len);
    }
    long endtime=System.currentTimeMillis();
    System.out.println("運行時間為:"+(endtime-begintime)+"毫秒");
    bis.close();
    bos.close();
    System.out.println("正常運行");
  }
}

將String類的對象用字節(jié)流寫入文件時

import java.io.*;
public class outFile {
  public static void main(String[] args) throws Exception {
    FileOutputStream out=new FileOutputStream("example.txt");
    String str="測試";
    byte[] b=str.getBytes();
    for(int i=0;i<b.length;i++) {
      out.write(b[i]);
    }
    out.close();
    System.out.println("輸出成功");
  }
}

當(dāng)需要以附加的形式寫入文件時

FileOutputStream out=new FileOutputStream("example.txt",true);

轉(zhuǎn)換流

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

String x = in.read();

InputSteamReader和OutputStreamReader為轉(zhuǎn)換流,前者將字節(jié)流轉(zhuǎn)化為字符流,后者將字符流轉(zhuǎn)化為字節(jié)流

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java程序員應(yīng)該遵守的10條紀律

    Java程序員應(yīng)該遵守的10條紀律

    Java程序員有許多應(yīng)遵循的守則或最佳實踐方式。本文概述了每個開發(fā)者最應(yīng)該遵循的10條守則或戒律,如果不遵循它們,將會導(dǎo)致災(zāi)難性后果。
    2015-09-09
  • Java并發(fā) 線程間的等待與通知

    Java并發(fā) 線程間的等待與通知

    這篇文章主要介紹了Java并發(fā) 線程間的等待與通知,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • java 并發(fā)中的原子性與可視性實例詳解

    java 并發(fā)中的原子性與可視性實例詳解

    這篇文章主要介紹了java 并發(fā)中的原子性與可視性實例詳解的相關(guān)資料,原子性是說一個操作是否可分割??梢娦允钦f操作結(jié)果其他線程是否可見。需要的朋友可以參考下
    2017-07-07
  • Java基于IDEA實現(xiàn)qq郵件發(fā)送小程序

    Java基于IDEA實現(xiàn)qq郵件發(fā)送小程序

    這篇文章主要介紹了Java基于IDEA實現(xiàn)qq郵件發(fā)送小程序功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密示例代碼

    springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密示例代碼

    這篇文章主要給大家介紹了關(guān)于springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密的相關(guān)資料,Jasypt是一個用于配置文件加密的Java庫,它可以用來加密和解密配置文件中的敏感信息,如數(shù)據(jù)庫密碼、API?密鑰等,需要的朋友可以參考下
    2024-04-04
  • 教你如何用Eclipse創(chuàng)建一個Maven項目

    教你如何用Eclipse創(chuàng)建一個Maven項目

    這篇文章主要介紹了教你如何用Eclipse創(chuàng)建一個Maven項目,文中有非常詳細的代碼示例,對正在入門Java的小伙伴們是非常有幫助的喲,需要的朋友可以參考下
    2021-05-05
  • 基于Java編寫一個實用的ExcelUtil工具類

    基于Java編寫一個實用的ExcelUtil工具類

    在項目中經(jīng)常遇到excel表格導(dǎo)入導(dǎo)出功能,每次都要重復(fù)寫有關(guān)excel 的邏輯,所以本文直接使用Java編寫一個實用的ExcelUtil工具類,希望對大家有所幫助
    2024-04-04
  • 一個簡單的Spring容器初始化流程詳解

    一個簡單的Spring容器初始化流程詳解

    這篇文章主要給大家介紹了一個簡單的Spring容器初始化流程的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • JavaCV 圖像邊緣檢測之Canny 算法詳解

    JavaCV 圖像邊緣檢測之Canny 算法詳解

    在圖像處理中,邊緣檢測是基礎(chǔ)且關(guān)鍵的一環(huán),其中Canny邊緣檢測算法以其高精度和可靠性著稱,本文詳細介紹了使用JavaCV庫實現(xiàn)Canny算法的原理和步驟,結(jié)合代碼示例和案例分析,展示了Canny算法在Java環(huán)境下的實現(xiàn)過程和邊緣檢測效果
    2024-11-11
  • 使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

    使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

    這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

绥棱县| 襄汾县| 鄂托克旗| 双江| 大港区| 霸州市| 会理县| 博乐市| 绥宁县| 高雄县| 兰溪市| 泸西县| 门源| 怀柔区| 延边| 伊通| 开封市| 伽师县| 南木林县| 沙田区| 普安县| 汕头市| 蓬溪县| 桐庐县| 隆林| 昌乐县| 忻州市| 浪卡子县| 肃北| 郯城县| 商河县| 昌图县| 宾川县| 云梦县| 金塔县| 若尔盖县| 论坛| 奉新县| 六安市| 外汇| 南雄市|