中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JAVA中IO操作的字節流和字符流實例分析

發布時間:2022-04-07 13:32:49 來源:億速云 閱讀:151 作者:iii 欄目:編程語言

這篇文章主要介紹了JAVA中IO操作的字節流和字符流實例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JAVA中IO操作的字節流和字符流實例分析文章都會有所收獲,下面我們一起來看看吧。

JAVA中IO操作的字節流和字符流實例分析

IO操作

JAVA中IO操作的字節流和字符流實例分析

字節流

  • java.io.InputStream 輸入流,主要是用來讀取文件內容的。

  • java.io.OutputStream 輸出流,主要是用來將內容字節寫入文件的。

FileInputStream

該流用于從文件讀取數據,它的對象可以用關鍵字 new 來創建。
有多種構造方法可用來創建對象。
可以使用字符串類型的文件名來創建一個輸入流對象來讀取文件

InputStream f = new FileInputStream("D:/hello");

也可以使用一個文件對象來創建一個輸入流對象來讀取文件。我們首先得使用 File() 方法來創建一個文件對象:

File f = new File("D:/hello");InputStream in = new FileInputStream(f);

FileOutputStream

該類用來創建一個文件并向文件中寫數據。
如果該流在打開文件進行輸出前,目標文件不存在,那么該流會創建該文件。
有兩個構造方法可以用來創建 FileOutputStream 對象。
使用字符串類型的文件名來創建一個輸出流對象:

OutputStream f = new FileOutputStream("D:/hello");

也可以使用一個文件對象來創建一個輸出流來寫文件。我們首先得使用File()方法來創建一個文件對象:

File f = new File("D:/hello");OutputStream fOut = new FileOutputStream(f);

字節流讀寫案例

讀取D:/hello.txt文件中的內容再輸入到文件D:/test.txt中

      public class Mk {
        public static void main(String[] args) throws IOException {
            File file=new File("D://hello.txt");
            File file1= new File("D://test.txt");
            InputStream is=new FileInputStream(file);
            OutputStream out=new FileOutputStream(file1);
            //定義byte數組用來暫存數據
            byte[] buf = new byte[1024];
            //讀取Is中的內容存到buf
            is.read(buf);
            //將buf中的內容寫入out
            out.write(buf);
            is.close();
            out.close();
        }
        }

字符流

FileWriter

寫入文件實例

public class A {
    public static void main(String[] args) throws IOException {
        FileWriter fw = new FileWriter("user.txt", true);
        fw.write("你好中國1");
        fw.write("你好中國2");
        fw.write("你好中國3");
        fw.close();
    }}

JAVA中IO操作的字節流和字符流實例分析
JAVA中IO操作的字節流和字符流實例分析

FileReader

讀取文件實例
這里我把內容換行了
JAVA中IO操作的字節流和字符流實例分析
br.ready()是判斷這一行流是否為空
br.readLine()是輸出一行,然后自動光標指到下一行。

public class A {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("user.txt"));
        while (br.ready()) {
            System.out.println(br.readLine());
        }
        br.close();
    }}

JAVA中IO操作的字節流和字符流實例分析

字節流與字符流得區別

字節流和字符流使用是非常相似的,那么除了操作代碼的不同之外,還有哪些不同呢?

字節流在操作的時候本身是不會用到緩沖區(內存)的,是與文件本身直接操作的,而字符流在操作的時候是使用到緩沖區的
字節流在操作文件時,即使不關閉資源(close方法),文件也能輸出,但是如果字符流不使用close方法的話,則不會輸出任何內容,說明字符流用的是緩沖區,并且可以使用flush方法強制進行刷新緩沖區,這時才能在不close的情況下輸出內容

那開發中究竟用字節流好還是用字符流好呢?

在所有的硬盤上保存文件或進行傳輸的時候都是以字節的方法進行的,包括圖片也是按字節完成,而字符是只有在內存中才會形成的,所以使用字節的操作是最多的。
如果要java程序實現一個拷貝功能,應該選用字節流進行操作(可能拷貝的是圖片),并且采用邊讀邊寫的方式(節省內存)。

關于“JAVA中IO操作的字節流和字符流實例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“JAVA中IO操作的字節流和字符流實例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

抚远县| 山东省| 孝感市| 米易县| 凤冈县| 渝中区| 井研县| 修文县| 铜陵市| 阳泉市| 库车县| 防城港市| 崇仁县| 承德县| 礼泉县| 蓝山县| 丽水市| 庄浪县| 徐闻县| 涞源县| 沂水县| 沾益县| 精河县| 奉贤区| 蕲春县| 南充市| 年辖:市辖区| 榆树市| 伊春市| 古丈县| 竹溪县| 兴国县| 开化县| 河北省| 洛川县| 蓝山县| 大余县| 法库县| 渭南市| 东山县| 乌恰县|