Java IO流 FileOutputStream、FileInputStream的用法


            FileOutputStream、FileInputStream的使用

  FileOutputStream是OutputStream的繼承類,它的主要功能就是向磁盤上寫文件。FileOutputStream類中的write方法會把字節一個一個的寫入磁盤中。

  以下是使用FileOutputStream輸出流將數據寫入到指定的文件中,在構建FileOutputStream輸出流對象的過程中,如果指定的文件不存在,那么就創建該文件。

package com.tianjh.io.outputstream;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Created on 2020/12/9
 * 向磁盤上指定文件文件寫入數據
 * $FileOutputStreamDemo用法
 *
 */
public class FileOutputStreamDemo {
    public static void main(String[] args) {
        FileOutputStream fileOutputStream;
        try {
            // 構建FileOutputStream對象,"D:/one.txt"文件不存在會自動新建
            fileOutputStream = new FileOutputStream("D:/one.txt");
            // write方法會把字節一個一個的寫入磁盤中 write方法支持byte、int基本類型
            byte aa = 97;
            fileOutputStream.write(aa);

            int bb = 98;
            fileOutputStream.write(bb);

            char cc = 'c';
            // 沒有write(char),只能機器自動從char轉到int
            fileOutputStream.write(cc);

            // String dd = "100";
            // fileOutputStream.write(dd);
            // fileOutputStream.write(dd)會報錯, 因為FileOutputStream流中沒有write(String)方法,
            // 不過在PrintStream中有write(String)方法
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

執行之后得到如下文件:

  FileInputStream是IntputStream的繼承類,它的主要功能就是向磁盤上讀文件。FileInputStream類的read方法會一個一個字節的從磁盤往回讀數據。下列是通過FileInputStream文件輸入流讀取指定文件 "D:/hello.txt"中的數據。 

package com.tianjh.io.inputstream;

import java.io.*;

/**
 * Created on 2020/12/9
 * 從磁盤上讀入文件,並輸出到控制台
 * $FileInputStreamDemo用法
 *
 */
public class FileInputStreamDemo {
    public static void main(String[] args) {
        FileInputStream fileInputStream;
        int size;
        try {
            // 使用字符串類型的文件名創建一個文件輸入流對象來讀取文件
            fileInputStream = new FileInputStream("D:/hello.txt");
            // available() 返回從此輸入流中可以讀取(或跳過)的剩余字節數的估計值,而
            // 不會被下一次調用此輸入流的方法阻塞。
            size = fileInputStream.available();
            for (int i = 0; i < size; i++) {
                System.out.print((char) fileInputStream.read());
                // expected output: hello world!
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

hello.txt 文件內容如下:

 控制台輸出的結果為:

  hello world!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM