天天看點

java File類建立檔案夾與建立檔案的差別

import java.io.File;
import java.io.IOException;

/**
 *mkdir:隻能用來建立檔案夾,且隻能建立一級目錄,如果上級不存在,就會建立失敗。
 mkdirs:隻能用來建立檔案夾,且能建立多級目錄 ,如果上級不存在,就會自動建立。(建立檔案夾多用此)
 createNewFile:隻能用來建立檔案,且隻能在已存在的目錄下建立檔案,否則會建立失敗。
 (FileOutputStream os=new FileOutputStream(file)也可建立檔案,看情況使用)
 */
public class test2 {


    public static void main(String[] args) {


         //執行個體化一個檔案,代表給定路徑的檔案或目錄
        String string="C:"+ java.io.File.separator+"Users"+ java.io.File.separator+"hasee"+ java.io.File.separator+"Desktop"+ java.io.File.separator+"日記.txt";
        java.io.File file=new java.io.File(string);

            if(!file.exists())//判斷該檔案是否存在
                file.mkdir();/* file.mkdir():建立此抽象路徑名指定的檔案夾。*/
        //file.mkdirs():建立此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。
            else
                file.delete();//如果存在就删除
            //是否是一個目錄  如果是目錄傳回true,如果不是目錄or目錄不存在傳回的是false
            System.out.println(file.isDirectory());
            //是否是一個檔案
            System.out.println(file.isFile());

            /*
               第一次執行的結果: 在桌面建立了一個名為“日記.txt”的檔案夾
                第一次執行的結果: 将此檔案夾删除掉了
                 */


            String string1="C:"+ java.io.File.separator+"Users"+ java.io.File.separator+"hasee"+ java.io.File.separator+"Desktop"+ java.io.File.separator+"日記1.txt";
        java.io.File file2=new java.io.File(string1);
            if(!file2.exists())
                try {
                    file2.createNewFile();//建立檔案
                } catch (IOException e) {

                    e.printStackTrace();
                }
            else
                file2.delete();
            //常用的File對象的API
            System.out.println(file);//file.toString()的内容
            System.out.println(file.getAbsolutePath());
            System.out.println(file.getName());
            System.out.println(file2.getName());
            System.out.println(file.getParent());
            System.out.println(file2.getParent());
            System.out.println(file.getParentFile().getAbsolutePath());
        }

    }