成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

文件字節(jié)流FileInputStrea和FileOutputStream

開發(fā) 后端
本文主要介紹了文件字節(jié)流FileInputStrea和FileOutputStream、如何把數(shù)據(jù)追加到文件末尾實現(xiàn)的例子、通過接收用戶從鍵盤輸入的數(shù)據(jù),按回車后保存到text目錄下的文件test03.txt中。

[[440744]]

大家好,我是Java進階者。

前言

我們知道計算機的數(shù)據(jù)基本是存儲在硬盤文件當中,操作文件的數(shù)據(jù)是常用的操作例如讀取數(shù)據(jù)和寫入數(shù)據(jù)。接下來小編帶大家一起來學習!

一、文件字節(jié)流FileInputStream

1.FileInputStream是InputStream的子類,F(xiàn)ileInputStram是操作文件的字節(jié)輸入流。文件字節(jié)輸入流是以字節(jié)讀取文件中的數(shù)據(jù)。

2.FileInputStream類的構造方法有:

(1)public FileInputStream(String name)方法:使用指定的文件名name創(chuàng)建一個FileInputStream對象。

(2)public FileInputStream(File file)方法:使用File對象創(chuàng)建FileInputStream對象。

3.在工程里面新建一個目錄text,然后再建test01.txt文本文件,在并在文本文件寫入"helloworld",實現(xiàn)字節(jié)流對文件數(shù)據(jù)的讀取。

例子的實現(xiàn):

  1. package cc; 
  2. import java.io.FileInputStream; 
  3. public class P01 { 
  4. public static void main(String[] args) throws Exception { 
  5.         //創(chuàng)建一個文件字節(jié)輸入流 
  6.         FileInputStream f=new FileInputStream("text/test01"); 
  7.         //定義int類型的變量a保存每次讀取的一個字節(jié) 
  8.         int a=0; 
  9.         while(true){ 
  10.             //變量a保存讀取的一個字節(jié) 
  11.             a=f.read(); 
  12.             //當讀取的字節(jié)為-1,跳出循環(huán) 
  13.             if(a==-1){ 
  14.                 break; 
  15.             } 
  16.             System.out.println(a); 
  17.         } 
  18.         //關閉流 
  19.         f.close(); 
  20.   } 

運行的結果如下所示:

上面的運行的結果是數(shù)字是因為硬盤上的文件是以字節(jié)的形式存在,在test01.txt文件中,字符'h','e','l','l','o','w','o','r','l','d'各占一個字節(jié),所以這10個字節(jié)對應十進制數(shù)。

二、文件字節(jié)流FileOutputStream

1.FileOutputStream是OutputStream的子類,它具有文件的寫入功能。文件字節(jié)輸出流按字節(jié)把數(shù)據(jù)寫到文件中。

2.FileOutputStream類的構造方法有:

(1)public FileOutputStream(String name)方法:使用指定的文件名name創(chuàng)建一個FileOutputStream對象。

(2)public FileOutputStream(File file)方法:使用File對象創(chuàng)建FileOutputStream對象。

(3)public FileOutputStream(String name,boolean append)方法:指定的文件已經(jīng)存在,在文件尾追加還是覆蓋這個文件。

3.如何將數(shù)據(jù)寫入文件?

例子的實現(xiàn):

  1. package cc; 
  2.  
  3. import java.io.FileOutputStream; 
  4.  
  5. public class P02 { 
  6.  
  7. public static void main(String[] args) throws Exception { 
  8.         // TODO Auto-generated method stub 
  9.         //創(chuàng)建一個文件字節(jié)輸出流 
  10.         FileOutputStream fo=new FileOutputStream("text/test02"); 
  11.         String str="Java進階交流"
  12.         byte b[]=str.getBytes(); 
  13.         for(int i=0;i<b.length;i++){ 
  14.             fo.write(b[i]); 
  15.         } 
  16.         fo.close(); 
  17.   } 

運行的結果如下圖所示:

在程序text目錄下自動生成一個新的test02.txt文件。

三、如何把數(shù)據(jù)追加到文件末尾?

1.使用public FileOutputStream(String name,boolean append)方法把append參數(shù)設置為true。

2.例子的實現(xiàn)

  1. package cc; 
  2.  
  3. import java.io.FileOutputStream; 
  4.  
  5. public class P02 { 
  6.  
  7. public static void main(String[] args) throws Exception { 
  8.         // TODO Auto-generated method stub 
  9.         //創(chuàng)建一個文件字節(jié)輸出流 
  10.         FileOutputStream fo=new FileOutputStream("text/test02",true); 
  11.         String str="公眾號"
  12.         byte b[]=str.getBytes(); 
  13.         for(int i=0;i<b.length;i++){ 
  14.             fo.write(b[i]); 
  15.         } 
  16.         fo.close(); 
  17.   } 

運行的結果如下所示:

從上面的運行的結果中,通過輸出流對象向text目錄下的test02.txt文件中在原來的Java進階交流的末尾添加“公眾號”,并不會把原來的數(shù)據(jù)清空掉,是把新的數(shù)據(jù)追加文件的末尾。

四、編寫程序,接收用戶從鍵盤輸入的數(shù)據(jù),按回車后保存到text目錄下的文件test03.txt中。如果用戶輸入符號#,則退出程序。

1.例子的實現(xiàn):

  1. package cc; 
  2.  
  3. import java.io.FileOutputStream; 
  4. import java.io.IOException; 
  5.  
  6. public class P03 { 
  7. public static void main(String[] args) { 
  8.         // TODO Auto-generated method stub 
  9.         byte b[]=new byte[128]; 
  10.         System.out.println("請輸入數(shù)據(jù),數(shù)據(jù)將保存在test03文件中,輸入#則退出"); 
  11.         try{ 
  12.             FileOutputStream fo=new FileOutputStream("text/test03"); 
  13.             while(true){ 
  14.                 int i=System.in.read(b); 
  15.                 if(b[0]=='#'){ 
  16.                     break; 
  17.                 } 
  18.                 fo.write(b,0,i-1); 
  19.                 fo.write('\n'); 
  20.             } 
  21.             fo.close(); 
  22.         }catch(IOException e){ 
  23.             System.out.println(e.toString()); 
  24.         } 
  25.   } 

運行的結果如下圖所示:

從上面的運行的結果我們可以看出,將用戶輸入的數(shù)據(jù)保存到test03.txt是自動生成的不需要去手動創(chuàng)建test03.txt文件。

五、總結

本文主要介紹了文件字節(jié)流FileInputStrea和FileOutputStream、如何把數(shù)據(jù)追加到文件末尾實現(xiàn)的例子、通過接收用戶從鍵盤輸入的數(shù)據(jù),按回車后保存到text目錄下的文件test03.txt中。如果用戶輸入符號#,則退出程序。FileInputStrea文件字節(jié)輸入流是以字節(jié)讀取文件中的數(shù)據(jù);介紹了它的構造方法,通過例子實現(xiàn)來理解FileInputStrea用法。FileOutputStream是OutputStream的子類,它具有文件的寫入功能;介紹了它的構造方法,通過例子實現(xiàn)來理解FileOutputStream用法。希望通過本文的學習,對你有所幫助!

 

責任編輯:姜華 來源: Java進階學習交流
相關推薦

2011-12-19 10:30:17

Java

2021-12-09 09:30:38

字節(jié)流文件緩沖區(qū)

2013-10-17 10:35:06

TCP字節(jié)流UDP數(shù)據(jù)報

2014-06-27 09:10:23

UDPTCP

2023-12-18 07:37:17

JavaScript防抖節(jié)流

2021-12-23 09:30:35

Java 字節(jié)流 Java 基礎

2009-03-10 13:38:01

Java序列化字節(jié)流

2024-03-05 12:49:30

序列化反序列化C#

2010-01-27 09:55:06

Linux網(wǎng)絡字節(jié)序主機字節(jié)序

2013-06-25 09:31:50

Windows 8.1應用商店SkyDrive

2010-09-25 10:20:05

JAVA字節(jié)碼

2020-12-22 08:15:05

Java字節(jié)流字符流

2022-02-22 08:29:59

Vue前端防抖

2021-04-15 11:43:53

C語言位域字節(jié)序

2016-06-30 10:24:47

JavaScript節(jié)流Throttle

2024-03-08 08:26:20

防抖節(jié)流delay?

2021-09-06 15:52:19

鴻蒙HarmonyOS應用

2021-08-26 05:27:08

Base64 字節(jié)流算法

2021-02-22 09:05:59

Linux字符設備架構

2020-12-18 11:54:22

Linux系統(tǒng)架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合色综合网色综合 | 久久久免费电影 | 久久视频免费看 | 黄色一级大片在线免费看产 | 激情五月综合 | 色爽女| 国产精品美女久久久久久免费 | 亚洲黄色片免费观看 | 久久久久国产一级毛片 | 天天干天天插天天 | 欧美精品一区在线 | 亚洲日日夜夜 | 福利视频亚洲 | 久久美女视频 | 91xh98hx 在线 国产 | 激情小视频 | 久久在视频 | 久久久久久久av | 91xxx在线观看| 国产精品视频免费观看 | www.中文字幕.com | 在线视频第一页 | 久久一区精品 | 伊人免费在线观看高清 | 亚洲精品视 | 久久精品小视频 | 欧美日本在线观看 | 免费的av | 九九色综合 | 男人的天堂久久 | 日韩欧美电影在线 | 日韩无 | avtt国产| 成年人在线 | 一区二区三区四区在线 | 视频在线亚洲 | 成人三级电影 | 国产精品伦理一区 | 国产高清在线精品 | 久久久久国色av免费观看性色 | 欧美va大片 |