Java中File類重修
阿新 • • 發佈:2019-05-14
等於 stat static 所有 NPU 完成 io流 main getname
IO流
概述
io流:輸入輸出流(input/output)。流是一組有順序的,有起點和終點的字節集合,是對各種數據傳輸的總稱或抽象。即數據在兩設備之間的傳輸稱為流。流的本質是數據傳輸。
- InputStream:所有輸入流的超類
- OutputSream:所有輸出流的超類
1、在指定的目錄中查找文件後綴為.txt的文件
import java.io.File; //在指定的目錄中查找文件 public class FindFile { public static void main(String[] args) { // 在F盤查找文件後綴名為.txt的文件 findFile(new File("F:/"), ".txt"); } /** *查找文件的方法 *@param target 查找目標 *@param ext 文件擴展名 */ public static void findFile(File target, String ext) { if (target == null) { return; } if (target.isDirectory()) { File[] files = target.listFiles(); // 若訪問c盤,有些是系統文件,可能返回空 if (files != null) { for (File file : files) { findFile(file, ".txt");// 遞歸調用 } } } else { // 此處表示File是一個文件 String name = target.getName().toLowerCase(); if (name.endsWith(ext)) { System.out.println(target.getAbsolutePath()); } } }// findFile }
2、從文件讀取內容和向文件寫入內容輸
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class InputAndOutput { public static void main(String[] args) { in(); out(); } // 從文件讀取內容 private static void in() { File file = new File("F:/test.txt"); // 構建一個文件輸入對象 try { InputStream in = new FileInputStream(file); StringBuilder sb = new StringBuilder(); byte[] flush = new byte[1024]; int len = -1;// 表示每次讀取的字節長度 // 把數據讀入到數組中,並返回讀取的字節數,當不等於-1時,表示讀取到了數據,等於-1時表示讀取完成 while ((len = in.read(flush)) != -1) { // 根據讀到的字節數組,在轉換為字符串內容,追加到StringBuilder中 sb.append(new String(flush)); } System.out.println(sb); // 關閉輸入流 in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }// in // 將內容輸出到文件 private static void out() { // 確定目標文件 File file = new File("F:/test.txt"); // 構建一個文件輸出流對象 try { OutputStream out = new FileOutputStream(file, true);// true 為追加標識 // 要寫入文件的數據 String info = "小河流水嘩啦啦"; out.write(info.getBytes()); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }// out }
Java中File類重修