1. 程式人生 > >File檔案的一些基本方法和操作

File檔案的一些基本方法和操作

1.File物件對應你磁碟上的一個檔案或者資料夾(路徑),一個file物件代表了一個檔案或者資料夾的引用,並不是直接物理上的。

2.File.separator: 連線符
public static final String separator與系統相關的預設名稱 - 分隔符字元,以方便的方式表示為字串。 該字串包含一個字元,即separatorChar 。 (public static final char separatorChar與系統相關的預設名稱分隔符。 該欄位被初始化為包含系統屬性值file.separator的第一個file.separator 。 在UNIX系統上,該欄位的值為’/’ ; 在Microsoft Windows系統上是’\’ 。 )

3.建立File例項物件的幾種方式
第一種:

    File file = new File("D:\\abc.txt");
    System.out.println(file);

第二種:

// parent  前面的路徑   chid  在parent 後面追加的目錄
        File file2 = new File("D:\\c", "abc.txt");
        System.out.println(file2);

第三種:

       File  parent = new File("D:\\d");
        File file3 = new
File(parent, "qwe.doc"); System.out.println(file3);

4.建立檔案

//返回的是否建立成功
    try {
            boolean flag = file.createNewFile();
            System.out.println(flag);
        } catch (IOException e) {
            e.printStackTrace();
        }

5.判斷檔案是否可讀寫canRead() canWrite()

        System.out
.println(file.canRead()); // 判斷檔案是否可寫 System.out.println(file.canWrite());

6 . 判斷檔案是否存在exists(), 如果不存在則 建立, 存在則不建立了

if(!file2.exists()){// 判斷檔案是否存在
            try {
                file2.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }else{
            System.out.println("已經存在了 ");
        }

7 .建立資料夾 單層mkdir()

        String string = "D:\\d";
        File file = new File(string);
        boolean flag = file.mkdir();// 建立資料夾  單層
        System.out.println(flag);

8 .利用mkdirs 可以同時建立多層目錄

File file2 = new File("D:\\d\\a\\c\\w");
        file2.mkdirs();// 利用mkdirs 可以同時建立多層目錄

9 . 如何區分 檔案或者是 資料夾

      if(file2.isDirectory()){// 判斷是否是資料夾
            System.out.println("是資料夾");
        }
        if(file3.isFile()){
            System.out.println("是檔案");
        }

10 . 刪除指定檔案

        File file2 = new File("D:\\d\\a\\c\\w");    
        File file3 = new File(file2, "abc.txt");
        boolean flag2 = file3.delete();
        System.out.println(flag2);

11 .length()判斷檔案的長度 而非資料夾的長度 ,返回long型別的

        long l = file3.length();
        System.out.println(l);

12 .得到路徑

File file = new File("D:\\d\\a\\c\\w\\abc.txt");
        System.out.println(file.getPath());// 得到路徑

13 .System.out.println(file.getParent());// 得到 檔案的父目錄

14 . System.out.println(file.getParentFile());// 得到 檔案的父目錄 返回的是File物件

15 .// 重新命名 被其他 佔用的時候 就不能重新命名成功

    File file3 = new File("D:\\d\\a\\c\\w\\hehe.txt");
        boolean flag = file.renameTo(file3);
        System.out.println(flag);

16.將檔案過濾掉,資料夾保留

package com.qf.demo2;

import java.io.File;
import java.io.FilenameFilter;

/**
 * list()  返回 指定目錄  下的   所有 的  目錄和檔案的名字   String[]
 * list(FilenameFilter filter)  得到的所有的名字 進行對應的過濾
 * 
 * 
 * 
 * listFiles()   返回 指定目錄  下的   所有 的  目錄和檔案的   file 物件表現形式  File[]
 * listFiles(FilenameFilter filter)  得到的所有的名字 進行對應的過濾
 * 
 */
public class Test4 {

    public static void main(String[] args) {

        //File file = new  File("D\\java上課內容\\2015新版PPT":);
        File file = new File("D:\\java上課內容");
        String[] strings = file.list();
        /*for (String string : strings) {
            System.out.println(string);
        }
        File[] files = file.listFiles();
        for (File file2 : files) {
            System.out.println(file2);
        }*/


        String[] strings2 = file.list(new MyFilter());
        for (String string : strings2) {
            System.out.println(string);
        }

        File[] file2 = file.listFiles(new MyFilter());
        for (File file3 : file2) {
            System.out.println(file3);
        }

    }
}

class MyFilter implements FilenameFilter{

    // dir 指定的目錄        name 是 dir 指定目錄下的檔案或者是資料夾的名字
    public boolean accept(File dir, String name) {      
//      if(name.endsWith(".txt")){
//          return false;
//      }
        // 假如是  檔案   就 過濾掉, 如果是資料夾 , 就保留
        //  D:\\java上課內容      \\   java新版ppt
        File file = new File(dir,name);
        if(file.isFile()){
            return false;
        }


        return true;// 返回ture 證明 保留下來的
                    // 返回 false 要被過濾掉的
    }

}

17 .得到指定資料夾下的所有的檔案

package com.qf.demo2;

import java.io.File;

/**
 * 遞迴
 * 自己呼叫自己
 * 以此類推
 * 同性質的問題  範圍縮小, 直到 結果 可以直接的出來

 需求: 得到指定資料夾下的所有的檔案


計算 指定資料夾  所有檔案 和 資料夾的個數

 */
public class Test5 {

    public static void main(String[] args) {

        findFile(new File("D:\\java上課內容"));
    }

    // 得到 指定資料夾下一層的所有的檔案和檔案
    // // 如果是檔案  列印輸出, 如果資料夾 

    public static void  findFile(File file){// 既可以代表檔案也可以代表資料夾
        // 保證非空
        if(file != null){
            // 保證是資料夾
            if(!file.isFile()){
                // 得到資料夾下的檔案或者是 檔案夾了
                File[] files = file.listFiles();// 新版ppt  ppt  .pptx
                for (File file2 : files) {// 把所有的檔案和資料夾遍歷一遍
                        findFile(file2);// 無論是檔案還是資料夾 都可以呼叫  此方法
                }
            }else{
                System.out.println(file);
            }
        }else{
            System.out.println("鬧著玩呢??????");
        }
    }
}

相關推薦

File檔案一些基本方法操作

1.File物件對應你磁碟上的一個檔案或者資料夾(路徑),一個file物件代表了一個檔案或者資料夾的引用,並不是直接物理上的。 2.File.separator: 連線符 public static final String separator與系統相關的

File物件的一些基本方法一些練習

<pre name="code" class="java"><strong><span style="font-size:32px;">1、常見方法</span></strong><span style="f

Android 的一些基本概念OOM異常的處理方法

一些基本的概念 ActivityManagerServices,簡稱AMS,服務端物件,負責系統中所有的Activity的生命週期 ActivityThread,App的真正入口。當開啟App之後,會呼叫main()開始執行,開啟訊息迴圈佇列,這就是傳說中的

Selenium常見元素定位方法操作

右鍵菜單 相對 內容 拖動 方法 圖片 news word 回車 一. 定位元素方法 官網地址:http://selenium-python.readthedocs.org/locating-elements.html 這裏有各種策略用於定位網

Docker基本介紹操作

後臺 掛載點 遷移 layer 其中 for 時間 自啟動 exe Docker基本介紹和操作 Docker基本介紹 什麽是Docker Docker 最初是 dotCloud 公司創始人 Solomon Hykes 在法國期間發起的一個公司內部項目,它是基於 dotClo

Servlet中的一些基本方法

獲取servlet配置資訊(需要在web.xml中進行配置) getServletConfig() 然後getInitParameter() 獲getInitParameterNames() 然後就可以獲取web.xml中的配置資訊了 獲取ServletContext物件 1.g

遙感影象處理 | 採用GDAL讀取影象成功後獲取影象的一些基本資訊統計資訊(C#)

描述資訊:  const char*  GDALDataset.GetDriver().GetDescription(),通常是影象的格式 影象大小:  影象寬度  int  GDALDataset.GetRasterXSize() &nbs

Excel零基礎入門——02Excel基本概念操作

上節課大家已經體驗到了Excel的操作了,如果成功做完了小例子,那就更牛氣了,但只會操作不懂裡面的術語和原理就不太好了,本節課帶領大家初始熟悉一下Excel的環境、基本概念和基礎操作。咱要做個有文化的Excel人。 記住快捷鍵,秒殺老司機!   1、基本概念 大家把這裡當做字典,可以直接略過

lua裡的一些特殊方法變數

1.pcall (f, arg1, ···):pcall在保護模式(protected mode)下執行函式內容,同時捕獲所有的異常和錯誤。若一切正常,pcall返回true以及“被執行函式”的返回值;否則返回false和錯誤資訊(打印出來即可)。Lua 程式碼可以顯式的呼叫 error&

SecureCRT的基本用法操作

SecureCRT的基本用法和操作 2018年02月08日 14:15:25 漫天飛舞的雪花 閱讀數:15903 SecureCRT是最常用的終端模擬程式,簡單的說就是Windows下登入UNIX或Liunx伺服器主機的軟體,本文主要介紹SecureCRT的使用方法和技巧

Java記憶體垃圾回收(Garbage Collection)機制基本方法原則:System.gc()與finalize()

Java記憶體垃圾回收(Garbage Collection)機制基本方法和原則:System.gc()與finalize() Java一個物件的finalize()函式,是在當前物件被回收時才會呼叫。System.gc()暗示和提醒JVM開始垃圾回收。Java程式中顯示呼叫System.g

git的基本搭建操作

1.6 起步 - 初次執行 Git 前的配置 初次執行 Git 前的配置 既然已經在系統上安裝了 Git,你會想要做幾件事來定製你的 Git 環境。 每臺計算機上只需要配置一次,程序升級時會保留配置資訊。 你可以在任何時候再次通過執行命令來修改它們。 Git 自帶一

關於Android載入圖片時的OOM的一些解決方法優化

1、通過強引用和弱引用以及LRU演算法。 private static final int HARD_CACHE_CAPACITY = 20;//強引用的bitmap的數量 //為了提高圖片的利用率,通過單鏈表實現先進先出,將老的圖片移到軟引用裡面儲存 private st

【android 6.0 動態申請許可權的基本方法框架使用】

基本的使用: 先提供一下goog官方的學習文件: int selfPermission = ContextCompat.checkSelfPermission(Main2Activity.this, Manifest.permission.CA

hadoop入門十一(HDFS基本原理操作

Hadoop 2.x HDFS新特性 HDFS聯邦 HDFS HA(要用到Zookeeper) HDFS快照 解決了namenode單點得問題 高可用性 我有一個3000個主機,是不是得寫3000個hosts檔案,3000兩兩面密碼,所以在企業級應用

Oracle的基本語法操作

 ORACLE中的幾大基本操作指令及其含義    資料定義語言(DDL):用於建立、修改、刪除資料庫的物件(對列操作)       1.CREATE:建立表或其他物件的結構       2.ALTER:修改表或其他物件的結構       3.DROP:刪除表或其他物件的結構

[python爬蟲] Selenium常見元素定位方法操作的學習介紹

        這篇文章主要Selenium+Python自動測試或爬蟲中的常見定位方法、滑鼠操作、鍵盤操作介紹, 一. 定位元素方法 find_element_by_idfind_element_by_namefind_element_by_xpathfind_ele

javascript中的一些基本方法收藏

方法:document.createElement(tagName) 說明:建立指定元素 方法:document.createTextNode(文字) 說明:建立文字節點 方法:_dom.appendChild(子元素) 說明:新增新節點 方法:_dom.getAttribute(屬性名) 說明:返回元素的屬

Java 執行緒的基本狀態操作

執行緒的幾種狀態 在Java當中,執行緒通常都有五種狀態,建立、就緒、執行、阻塞和死亡。 第一是建立狀態。在生成執行緒物件,並沒有呼叫該物件的start方法,這是執行緒處於建立狀態。 第二是就緒狀態。當呼叫了執行緒物件的start方法之後,該執行緒就進

Directshow開發的一些基本概念技巧

1 視訊播放(Video Rendering)  dshow的視訊提交過濾器可以在視窗模式和無視窗模式下工作。在視窗模式下,過濾器建立一個自己的視窗,在裡面播放視訊。在無視窗模式/下,過濾器直接將視訊在應用程式提供的視窗上顯示,過濾器本身不建立視窗。 視窗模式 在視窗模式下,