日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的输入输出流

發布時間:2023/12/31 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的输入输出流 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按流向分:

輸入流: 從文件中讀取數據到程序
輸出流: 從程序向文件中寫入數據

按數據傳輸單位分:

字節流: 以字節為單位傳輸數據的流
字符流: 以字符為單位傳輸數據的流,在不同編碼中,一個字符等于不同的字節數(ASCII碼:一個中文漢字占兩個字節。UTF-8編碼中一個中文(含繁體)等于三個字節。)

按功能分:

節點流: 用于直接操作目標設備的流
過濾流: 是對一個已存在的流的鏈接和封裝,通過對數據進行處理為程序提供功能強大、靈活的讀寫功能

JDK所提供的所有流類位于java.io包中,都分別繼承自以下四種抽象流類:

InputStream:繼承自InputStream的流都是用于向程序中輸入數據的,且數據單位都是字節(8位)。
OutputSteam:繼承自OutputStream的流都是程序用于向外輸出數據的,且數據單位都是字節(8位)。
Reader:繼承自Reader的流都是用于向程序中輸入數據的,且數據單位都是字符(16位)。
Writer:繼承自Writer的流都是程序用于向外輸出數據的,且數據單位都是字符(16位)。

inputstream及其子類

?(1)fileinputstream

public static void main(String[] args) throws IOException {File file= new File("E:/IDEAproject/test.txt");FileInputStream text=new FileInputStream(file);byte [] a=new byte[100];text.read(a,1,10);//從文件的第一個位置開始,讀10個,放到a數組for (int i=0;i<8;i++){System.out.println(a[i]);}text.close();}

outputstream及其子類

(1)fileoutputstream

public static void main(String[] args) throws IOException {File file= new File("E:/IDEAproject/test.txt");FileOutputStream out=new FileOutputStream(file,true);//true表示在原文件后面追加內容false表示覆蓋byte [] a={'1','2','3','4','5','5','6','a','s','d','w'};out.write(a,0,10);out.close();}}

2)用fileinputstream和fileoutputstream完成文件的復制,因為是字節所以什么文件都可以復制(

public static void main(String[] args) throws IOException {File file2= new File("E:\\IDEAproject\\1.png");FileInputStream in =new FileInputStream(file2);File file= new File("E:\\IDEAproject\\2.png");FileOutputStream out=new FileOutputStream(file);//true表示在原文件后面追加內容false表示覆蓋int value=in.read();while( value!=-1){out.write(value);out.flush();value = in.read();}in.close();out.close();}}

總結

以上是生活随笔為你收集整理的java的输入输出流的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。