Java IO流讀取文件的代碼

m8x2 9年前發布 | 2K 次閱讀 Java Android

一、使用字符流,讀取和存儲純文本文件。

       存儲文件,也就是像一個文件里寫內容,既然是寫,那就需要使用輸出流。而且我們寫的是純文本文件,所以這里使用字符流來操作,java api提供給我們FileWriter這么一個類,我們來試試:(讀取文件同理使用FileReader類)

      

    package org.example.io;

import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileReader;  
import java.io.FileWriter;  
import java.io.IOException;  

public class TestFileWriter {  

    public static void main(String[] args) throws Exception {  
        writeToFile();  
        readFromFile();  
    }  

    /** 
     * DOC 從文件里讀取數據. 
     *  
     * @throws FileNotFoundException 
     * @throws IOException 
     */  
    private static void readFromFile() throws FileNotFoundException, IOException {  
        File file = new File("E:\\helloworld.txt");// 指定要讀取的文件  
        FileReader reader = new FileReader(file);// 獲取該文件的輸入流  
        char[] bb = new char[1024];// 用來保存每次讀取到的字符  
        String str = "";// 用來將每次讀取到的字符拼接,當然使用StringBuffer類更好  
        int n;// 每次讀取到的字符長度  
        while ((n = reader.read(bb)) != -1) {  
            str += new String(bb, 0, n);  
        }  
        reader.close();// 關閉輸入流,釋放連接  
        System.out.println(str);  
    }  

    /** 
     * DOC 往文件里寫入數據. 
     *  
     * @throws IOException 
     */  
    private static void writeToFile() throws IOException {  
        String writerContent = "hello world,你好世界";// 要寫入的文本  
        File file = new File("E:\\helloworld.txt");// 要寫入的文本文件  
        if (!file.exists()) {// 如果文件不存在,則創建該文件  
            file.createNewFile();  
        }  
        FileWriter writer = new FileWriter(file);// 獲取該文件的輸出流  
        writer.write(writerContent);// 寫內容  
        writer.flush();// 清空緩沖區,立即將輸出流里的內容寫到文件里  
        writer.close();// 關閉輸出流,施放資源  
    }  

}  </pre> 


測試結果:

hello world,你好世界


二、使用字節流,讀取和存儲圖片

    首先使用輸入流讀取圖片信息,然后通過輸出流寫入圖片信息:

    package org.example.io;

import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  

public class TestIOStream {  

    /** 
     *  
     * DOC 將F盤下的test.jpg文件,讀取后,再存到E盤下面. 
     *  
     * @param args 
     * @throws Exception 
     */  
    public static void main(String[] args) throws Exception {  
        FileInputStream in = new FileInputStream(new File("F:\\test.jpg"));// 指定要讀取的圖片  
        File file = new File("E:\\test.jpg");  
        if (!file.exists()) {// 如果文件不存在,則創建該文件  
            file.createNewFile();  
        }  
        FileOutputStream out = new FileOutputStream(new File("E:\\test.jpg"));// 指定要寫入的圖片  
        int n = 0;// 每次讀取的字節長度  
        byte[] bb = new byte[1024];// 存儲每次讀取的內容  
        while ((n = in.read(bb)) != -1) {  
            out.write(bb, 0, n);// 將讀取的內容,寫入到輸出流當中  
        }  
        out.close();// 關閉輸入輸出流  
        in.close();  
    }  

}  </pre> 


 本文由用戶 m8x2 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!