IO File學習

來源:互聯網
上載者:User

標籤: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)



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.