標籤:style java 使用 os 檔案 資料
1.遞迴遍曆所有檔案 並在控制台輸出
2.擷取某個絕對位址檔案目錄下的以txt結尾的檔案 遞迴遍曆擷取file存到list中 然後用用流寫到自己建立的檔案中
import java.io.*;import java.util.ArrayList;import java.util.List;public class file {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubFile dir = new File("F:\\7X");//dfs(dir, 0);遞迴檔案目錄List<File> list = new ArrayList<File>();//擷取所有txt檔案dfs2(dir, list);test(list, "F:wzz2.txt");}static void put(int x){StringBuilder sb = new StringBuilder();for(int i = 0; i < x; i++){sb.append(' ');}System.out.print(sb.toString());}static void dfs(File dir, int dep){put(dep);System.out.println(dir.getName());if(dir.isFile())return;File[] fs = dir.listFiles();for(int i = 0; i < fs.length; i++){dfs(fs[i], dep+1);}}static void dfs2(File dir, List<File> list){if(dir.isFile()){if(dir.getName().endsWith("txt"));list.add(dir);return;}File[] fs = dir.listFiles();for(File f : fs){dfs2(f, list);}}static void test(List<File> list, String name){BufferedWriter bw = null;try {bw = new BufferedWriter(new FileWriter("F:\\fd4.txt"));for(File f : list){bw.write(f.getAbsolutePath());bw.newLine();bw.flush();}} catch (IOException e) {// TODO: handle exception}finally{try {if(bw!=null)bw.close();} catch (IOException e2) {// TODO: handle exception}}}}
流只能操作資料。
File 類
用來將檔案或者檔案夾封裝成對象。
方便檔案與檔案夾進行操作
File對象可以作為參數傳遞給流的建構函式。
可以將已有的和已出現的檔案或者檔案夾封裝成對象
File a = new File(“a.txt”);
File類常見方法:
1 建立
boolean creatNewFile() :若且唯若不存在具有此抽象路徑名指定的名稱的檔案時,地建立由此抽象路徑名指定的一個新的空檔案
boolean mkdir():建立檔案夾。
boolean mkdirs():建立多級檔案夾
2 刪除
boolean delete():如果檔案正在使用,則刪除不了返回false
void deleteOnExit():在程式退出時刪除指定檔案
3 判斷
boolean exists():檔案是否存在
ifFile ()
isDirectory()
ifHidden()
isAbsolutePath()
4 擷取資訊
getName()
getPath()
getParent():該方法返回的是絕對路徑中的父目錄,如果擷取的是相對路徑,返回null 如果相對路徑中有上一層目錄那麼該目錄就是返回結果。
getAbsolutePath()
lastModidied()
length():在判斷檔案對象是否是檔案或者目的是,必須要判斷該檔案對象封裝的內容是否存在。通過exists判斷,(因為檔案或檔案夾不存在也會返回false)