av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java FileInputStream與FileOutputStream使用詳解

瀏覽:2日期:2023-12-06 10:22:04
什么是InputStream和OutputStream?

InputStream和OutputStream是抽象類,是所有字節輸入流和輸出流的父類。這里,我們首先要分清楚兩個概念:

InputStream(輸入流):輸入流是用來讀入數據的。- - - > > >讀入 OutputStream(輸出流):輸出流是用來寫出數據的。- - - > > >寫出文件輸入流——FileInputStream

FileInputStream 從文件系統中的某個文件中獲得輸入字節。

構造方法

//通過打開一個到實際文件的連接來創建一個 FileInputStream,該文件通過文件系統中的 File 對象 file 指定。public FileInputStream(File file);//通過打開一個到實際文件的連接來創建一個 FileInputStream,該文件通過文件系統中的路徑名 name 指定。public FileInputStream(String name);常用的方法從輸入流中讀取一個字節大小的數據

//從此輸入流中讀取一個數據字節。public int read();從輸入流一次讀取一個字節數組

//從此輸入流中將最多 b.length 個字節的數據讀入一個 byte 數組中。public int read(byte[] b);//從此輸入流中將最多 len 個字節的數據讀入一個 byte 數組中。off:目標數組 b 中的起始偏移量。public int read(byte[] b,int off,int len);從文件中讀取數據:

import java.io.FileInputStream;/** * FileInputStream:節點流(低級流),從文件中讀入數據 * @author Administrator * */public class FISDemo01 { public static void main(String[] args){String content=null;try { int size=0; //定義一個字節緩沖區,該緩沖區的大小根據需要來定義 byte[] buffer=new byte[1024]; FileInputStream fis=new FileInputStream('FOSDemo.txt'); //循環來讀取該文件中的數據 while((size=fis.read(buffer))!=-1){content=new String(buffer, 0, size);System.out.println(content); }//關閉此文件輸入流并釋放與此流有關的所有系統資源。 fis.close();} catch (Exception e) { e.printStackTrace();} }}文件輸出流——FileOutputStream

文件輸出流是用于將數據寫入到文件中。

構造方法

//創建一個向指定 File 對象表示的文件中寫入數據的文件輸出流。public FileOutputStream(File file);//創建一個向指定 File 對象表示的文件中寫入數據的文件輸出流。如果第二個參數為 true,則將字節寫入文件末尾處,而不是寫入文件開始處。public FileOutputStream(File file,boolean append);//創建一個向具有指定名稱的文件中寫入數據的輸出文件流。public FileOutputStream(String name);//創建一個向具有指定 name 的文件中寫入數據的輸出文件流。如果第二個參數為 true,則將字節寫入文件末尾處,而不是寫入文件開始處。public FileOutputStream(String name,boolean append);常用方法向文件中寫入一個字節大小的數據

//向文件中寫入一個字節大小的數據public void write(int b);向文件中一次性寫入一個字節數組的數據

//將 b.length 個字節從指定 byte 數組寫入此文件輸出流中。public void write(byte[] b);//指定 byte 數組中從偏移量 off 開始的 len 個字節寫入此文件輸出流。 public void write(byte[] b,int off,int len);向文件中寫出數據:

import java.io.FileOutputStream;/** * FileOutputStream:節點流(低級流),向文件中寫出數據 * @author Administrator * */public class FOSDemo01 { public static void main(String[] args){try { //向文件中寫入字節數組 String font='輸出流是用來寫入數據的!'; FileOutputStream fos = new FileOutputStream('FOSDemo.txt'); fos.write(font.getBytes()); //關閉此文件輸出流并釋放與此流有關的所有系統資源。此文件輸出流不能再用于寫入字節。 如果此流有一個與之關聯的通道,則關閉該通道。 fos.close();} catch (Exception e) { e.printStackTrace();} }}使用FileInputStream和FileOutputStream實現文件的復制

import java.io.FileInputStream;import java.io.FileOutputStream;/** * 使用文件輸入流和文件輸出流實現文件的復制 * @author Administrator * */public class SummaryFISAndFOS { public static void main(String[] args){/** * 1.先將文件中的內容讀入到輸入流中 * 2.將輸入流中的數據通過輸出流寫入到目標文件中 * 3.關閉輸入流和輸出流 */try { long begin=System.currentTimeMillis(); //從輸入流中讀取數據 FileInputStream fis=new FileInputStream('FOSDemo.txt'); //向輸出流中寫入數據 FileOutputStream fos=new FileOutputStream('FISAndFOSDest.txt'); //先定義一個字節緩沖區,減少I/O次數,提高讀寫效率 byte[] buffer=new byte[10240]; int size=0; while((size=fis.read(buffer))!=-1){fos.write(buffer, 0, size); } fis.close(); fos.close(); long end=System.currentTimeMillis(); System.out.println('使用文件輸入流和文件輸出流實現文件的復制完畢!耗時:'+(end-begin)+'毫秒');} catch (Exception e) { e.printStackTrace();}//解決JNI問題(Java Native Interface)System.exit(0); }}

運行結果: 使用文件輸入流和文件輸出流實現文件的復制完畢!耗時:17毫秒

以上基本上就是我們經常用到的方法的介紹,記得最后一定要close()哦!

到此這篇關于Java FileInputStream與FileOutputStream使用詳解的文章就介紹到這了,更多相關Java FileInputStream與FileOutputStream內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 国产成人亚洲精品自产在线 | 综合五月 | 精品久久久久久久久久 | 国产成人99久久亚洲综合精品 | 国产免费成人 | 日韩精品一区二 | www.亚洲视频| 国产亚洲久一区二区 | 亚洲国产精品久久久久久久 | 免费看大片a | 日本乱轮视频 | 乳色吐息樱花 | 老司机午夜免费精品视频 | 久久久亚洲精品视频 | 中文字幕在线视频观看 | 欧美天堂 | 国产一级二级 | 一区二区三区中文字幕 | 成人一区二区视频 | 亚洲精品一区二区三区蜜桃久 | 色妞网站| 国内外成人免费视频 | 国产欧美在线播放 | 中文字幕精品一区久久久久 | 久久久亚洲精品视频 | 欧美激情xxxx | 日韩精品视频在线播放 | 久久天堂av | 日韩在线观看一区 | 91狠狠操 | 黄色一极片 | 欧美精品二区三区四区免费看视频 | 黄色网视频 | 中文字字幕 | 99国产精品99久久久久久 | 国产精品一区二区三区四区 | 在线亚洲欧美 | аⅴ资源新版在线天堂 | 午夜免费小视频 | 国产成人三级一区二区在线观看一 | 国产农村妇女aaaaa视频 |