1. 程式人生 > >Java中IO流文件讀取、寫入和復制

Java中IO流文件讀取、寫入和復制

復制 循環 int files catch class close brush system

//構造文件File類

File f=new File(fileName);

//判斷是否為目錄

f.isDirectory();

//獲取目錄下的文件名

String[] fileName=f.list();

//獲取目錄下的文件
File[] files=f.listFiles();

1、Java怎麽讀取文件

package com.yyb.file;  
  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.InputStream;  
  
/* 
 * 讀取文件: 
 * 1、找到指定的文件 
 * 2、根據文件創建文件的輸入流 
 * 3、創建字節數組 
 * 4、讀取內容,放到字節數組裏面 
 * 5、關閉輸入流 
 */  
public class FileRead {  
  
    public static void main(String[] args) {  
        // 構建指定文件  
        File file = new File("E:" + File.separator + "hello.txt");  
        InputStream in = null;  
        try {  
            // 根據文件創建文件的輸入流  
            in = new FileInputStream(file);  
            // 創建字節數組  
            byte[] data = new byte[1024];  
            // 讀取內容,放到字節數組裏面  
            in.read(data);  
            System.out.println(new String(data));  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                // 關閉輸入流  
                in.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }  
  
}  

2、Java怎麽寫入文件

package com.yyb.file;  
  
import java.io.File;  
import java.io.FileOutputStream;  
import java.io.OutputStream;  
  
/* 
 * 寫入文件: 
 * 1、找到指定的文件 
 * 2、根據文件創建文件的輸出流 
 * 3、把內容轉換成字節數組 
 * 4、向文件寫入內容 
 * 5、關閉輸入流 
 */  
public class FileWriter {  
  
    public static void main(String[] args) {  
        // 構建指定文件  
        File file = new File("E:" + File.separator + "hello.txt");  
        OutputStream out = null;  
        try {  
            // 根據文件創建文件的輸出流  
            out = new FileOutputStream(file);  
            String message = "我是好人。";  
            // 把內容轉換成字節數組  
            byte[] data = message.getBytes();  
            // 向文件寫入內容  
            out.write(data);  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                // 關閉輸出流  
                out.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }  
  
}  

3、Java怎麽復制文件

<span style="font-size:18px;">package com.yyb.file;  
  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.InputStream;  
import java.io.OutputStream;  
/* 
 * 實現思路: 
 * 1、構建源文件與目標文件 
 * 2、源文件創建輸入流,目標文件創建輸出流 
 * 3、創建字節數組 
 * 4、使用循環,源文件讀取一部分內容,目標文件寫入一部分內容,直到寫完所有內容 
 * 5、關閉源文件輸入流,目標文件輸出流 
 */  
public class FileCopy {  
  
    public static void main(String[] args) {  
        // 構建源文件  
        File file = new File("E:" + File.separator + "HelloWorld.txt");  
        // 構建目標文件  
        File fileCopy = new File("D:" + File.separator + "HelloWorld");  
        InputStream in = null;  
        OutputStream out = null;  
        try {  
            // 目標文件不存在就創建  
            if (!(fileCopy.exists())) {  
                fileCopy.createNewFile();  
            }  
            // 源文件創建輸入流  
            in = new FileInputStream(file);  
            // 目標文件創建輸出流  
            out = new FileOutputStream(fileCopy, true);  
            // 創建字節數組  
            byte[] temp = new byte[1024];  
            int length = 0;  
            // 源文件讀取一部分內容  
            while ((length = in.read(temp)) != -1) {  
                // 目標文件寫入一部分內容  
                out.write(temp, 0, length);  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        } finally {  
            try {  
                // 關閉文件輸入輸出流  
                in.close();  
                out.close();  
            } catch (Exception e) {  
                e.printStackTrace();  
            }  
        }  
    }  
  
}</span><span style="font-size: 24px;">  
</span>  

  

Java中IO流文件讀取、寫入和復制