Java中IO流文件讀取、寫入和復制
阿新 • • 發佈:2017-08-16
復制 循環 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流文件讀取、寫入和復制