自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝

開發(fā) 后端
本文主要學習BufferedReader類讀取文本文件的內(nèi)容,BufferedWriter類向文本文件寫入內(nèi)容,使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝。

[[436472]]

大家好,我是Java進階者。

前言

本文主要學習BufferedReader類讀取文本文件的內(nèi)容,BufferedWriter類向文本文件寫入內(nèi)容,使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝。接下來小編帶大家一起來學習!

一、 BufferedReader類

1.BufferedReader類是帶有緩沖區(qū)的字符輸入流,一般與FileReader和InputStreamReader類一起使用,它是緩沖輸入流再從緩沖區(qū)讀取數(shù)據(jù)。

2.BufferedReader的構造方法

(1)public BufferedReader(Reader in):創(chuàng)建一個指定大小輸入緩沖區(qū)的緩沖字符輸入流,in參數(shù)是指定Reader流對象。

(2)public BufferedReader(Reader in,int sz):創(chuàng)建的緩沖輸入流對象指向參數(shù)in指定大小(sz)輸入緩沖區(qū)的Reader流對象。

3.BufferedReader流能夠讀取文本行,可以通過BufferedReader傳遞一個Reader對象,來創(chuàng)建一個BufferedRader對象,再調(diào)用用readLine()方法讀取文本的行。這樣做的原因是FileReader沒有讀取文本行的功能。

4.BufferedReader方法:

(1)public int read() throws IOException:讀取單個字符,方法返回一個整數(shù)(0~65535之間的一個整數(shù))讀入的字符,若到流末尾,返回-1。

(2)public int read(char[] cbuf) throws IOException:讀取多個字符到字符數(shù)組cbuf。

(3)public void close() throws IOException:表示關閉流。

(4)public String readLine() throws IOException:讀取一個文本的行。

5.如何使用BufferedReader來讀取文本數(shù)據(jù)?

  1. import java.io.*; 
  2. public class P15 { 
  3. public static void main(String[] args) throws Exception{ 
  4.         // TODO Auto-generated method stub 
  5.             BufferedReader br = new BufferedReader(new FileReader("text/test")); 
  6. //定義字符數(shù)組用來一次性讀取 
  7. char[] c = new char[1024] ; 
  8. int num = 0 ; 
  9. //判斷是否讀到文本末尾 
  10. while((num=br.read(c))!=-1) { 
  11.         System.out.println(new String(c,0,num)); 
  12. //關閉流 
  13. br.close(); 
  14.   } 

運行的結果如下所示:

二、BufferedWriter類

1.BufferedWriter類是帶有緩沖區(qū)的字符輸出流,一般與FileWriter連接一起,再使用BufferedWriter將數(shù)據(jù)寫入的功能。FileWriter是BufferedWriter的底層流,BufferedWriter是把數(shù)據(jù)寫入緩沖區(qū),底層流再把數(shù)據(jù)寫入文本文件中。

2.BufferedWriter類構造方法

(1)public BufferedWriter(Writer out):創(chuàng)建一個指定大小輸入緩沖區(qū)的緩沖字符輸入流,out參數(shù)是指定Writer流對象。

(2)public BufferedWriter(Writer out,int sz):創(chuàng)建的緩沖輸入流對象指向參數(shù)in指定大小(sz)輸入緩沖區(qū)的Writer流對象。

3.BufferedWriter類構造方法例子

  1. FileWriter fw=new FileWriter("test.txt"); 
  2. BufferedWriter bw=new BufferedWriter(fw); 

4.BufferedWriter方法:

(1)public void write(String str) throws IOException方法:寫入一個字符串。

(2)public void write(String str,int off,int len) throws IOException方法:從字符串str的off偏移量開始寫入len個字符。

(3)public String newLine() throws IOException:向文本文件寫入一個換行。

(4)public void flush():刷新緩沖區(qū)。

5.如何使用BufferedWriter寫入數(shù)據(jù)?

  1. import java.io.*; 
  2.  
  3. public class P16 { 
  4. public static void main(String[] args) throws Exception { 
  5.         // TODO Auto-generated method stub 
  6.         //創(chuàng)建一個BufferedWriter緩沖對象 
  7.         FileWriter fw = new FileWriter("text/test16"); 
  8.         BufferedWriter bw = new BufferedWriter(fw); 
  9.         //向文件中寫入內(nèi)容 
  10.         bw.write("第一行內(nèi)容是Java學習");  
  11.         //換行 
  12.         bw.newLine();  
  13.         bw.write("第二行內(nèi)容是Python學習"); 
  14.         //關閉流 
  15.         bw.close();  
  16.   } 

運行的結果如下所示:

三、如何使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝?

1.首先在text目錄下創(chuàng)建test01.txt并寫入"第一行寫入Java學習,第二行寫入進階交流公眾號"內(nèi)容。

2.代碼的實現(xiàn):

  1. import java.io.*; 
  2.  
  3. public class P17 { 
  4. public static void main(String[] args) throws Exception { 
  5.         // TODO Auto-generated method stub 
  6.         //創(chuàng)建一個BufferedReader緩沖對象 
  7.         FileReader fr=new FileReader("text/test01"); 
  8.         BufferedReader br=new BufferedReader(fr); 
  9.         //創(chuàng)建一個BufferedWriter緩沖對象 
  10.         FileWriter fw=new FileWriter("text/test02"); 
  11.         BufferedWriter bw=new BufferedWriter(fw); 
  12.         String s; 
  13.         //判斷是否到文本文件末尾 
  14.         while((s=br.readLine())!=null){ 
  15.             bw.write(s); 
  16.             //換行 
  17.             bw.newLine(); 
  18.         } 
  19.         //關閉流 
  20.         br.close(); 
  21.         bw.close(); 
  22.   } 

運行的結果如下圖所示:

從上面代碼中,通過一個while循環(huán)實現(xiàn)文本文件的拷貝。每次循環(huán)過程中都使用readLine()方法讀取文件的行,再調(diào)用write()方法寫入文件。

四、總結

本文主要介紹了BufferedReader類、BufferedWriter類、使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝。BufferedReader類介紹了它的構造方法和方法,通過一個案例來學習BufferedReader來讀取文本文件的內(nèi)容。BufferedWriter類介紹了它的構造方法和方法,通過一個案例學習BufferedWriter向文本文件寫入內(nèi)容。使用BufferedReader和BufferedWriter類來實現(xiàn)文件拷貝例子了解它的用法。希望大家通過本文的學習,對你有所幫助!

 

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

2018-09-26 14:37:17

JavaScript前端編程語言

2011-07-22 14:18:04

iOS 文件

2017-08-02 07:36:06

大數(shù)據(jù)PythonOpenCV

2010-06-01 17:44:14

Rsync 使用

2011-05-23 17:00:29

2011-03-16 09:05:29

iptablesNAT

2023-09-22 12:21:33

Python深拷貝淺拷貝

2021-12-09 09:30:38

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

2009-08-19 09:36:03

ADO封裝類

2017-08-16 13:30:05

Java深拷貝淺拷貝

2021-07-16 12:33:24

Javascript深拷貝淺拷貝

2011-01-11 11:30:00

Bandwidth C帶寬控制流量控制

2017-11-02 14:19:32

卷影拷貝VSS恢復文件

2022-11-25 09:16:43

Linux命令

2017-08-02 13:46:37

LinuxSteven Blac主機文件

2018-03-15 09:10:34

GitHub博客 Python

2021-09-27 11:07:11

深拷貝淺拷貝內(nèi)存

2022-07-26 08:07:03

Python淺拷貝深拷貝

2015-05-19 08:58:08

加密解密GnuPG

2010-08-09 13:37:09

FlexDjango
點贊
收藏

51CTO技術棧公眾號