Java中File使用--创建文件

1.错误示范1,输出的是创建文件夹 D:filepath est est.txt。

public class FileTest {
    public static void main(String[] args) throws IOException {
        String fileName = "test.txt";
        File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
        if (!testFile.exists()) {
            testFile.mkdirs();// 能创建多级目录
        }
        System.out.println("testFile:"+testFile);
    }
}



result--------------------
testFile:D:filepath	est	est.txt

2.错误示范2,如果 D:filepath est 文件夹不存在,会报错。

public class FileTest {
    public static void main(String[] args) throws IOException {
        String fileName = "test.txt";
        File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
        if (!testFile.exists()) {
            testFile.createNewFile();// 能创建多级目录
        }
        System.out.println("testFile:"+testFile);
    }
}

3.实现在多重目录下创建文件:话不多说上正确代码:

package com.zte.FileTest;

import sun.net.ftp.FtpClient;
//import com.zte.ums.cnms.pm.load.enums.MppFileDirEnum;
import java.io.File;
import java.io.IOException;

public class FileTest {
    public static void main(String[] args) throws IOException {
        String fileName = "test.txt";
        System.out.println("File.separator:" + File.separator);
        File testFile = new File("D:" + File.separator + "filepath" + File.separator + "test" + File.separator + fileName);
        File fileParent = testFile.getParentFile();//返回的是File类型,可以调用exsit()等方法 
        String fileParentPath = testFile.getParent();//返回的是String类型
        System.out.println("fileParent:" + fileParent);
        System.out.println("fileParentPath:" + fileParentPath);
        if (!fileParent.exists()) {
            fileParent.mkdirs();// 能创建多级目录
        }
        if (!testFile.exists())
            testFile.createNewFile();//有路径才能创建文件
        System.out.println(testFile);

        String path = testFile.getPath();
        String absolutePath = testFile.getAbsolutePath();//得到文件/文件夹的绝对路径
        String getFileName = testFile.getName();//得到文件/文件夹的名字
        System.out.println("path:"+path);
        System.out.println("absolutePath:"+absolutePath);
        System.out.println("getFileName:"+getFileName);
    }
}




result---------------------------------
File.separator:
fileParent:D:filepath	est
fileParentPath:D:filepath	est
D:filepath	est	est.txt
path:D:filepath	est	est.txt
absolutePath:D:filepath	est	est.txt
getFileName:test.txt

File类的常见方法(参考一位大牛的,不小心把链接关了) 1.创建。 boolean createNewFile(); //创建文件 boolean mkdir();创建文件夹 boolean mkdirs();创建多级文件夹。

2.删除。 boolean delete(); void deleteOnExit();在程序退出时删除文件。

3.判断。 boolean canExcute(); 判断是否可执行 boolean exists(); 文件事是否存在。 isFile();文件 isDirectory();文件夹 isHidden();//java能得到文件中的隐藏文件但是对隐藏文件时不能访问的 isAbsolute();//绝对路径即时不存在也能得到。 4.获取信息。 getName(); getPath(); getParent();

4.三种文件创建方式: File file = new File("E:/...");//文件/文件夹路径对象 File file = new File("..." ,""...);//父目录绝对路径 + 子目录名称 File file = new File("...","...");//父目录File对象 + 子目录名称

file.exists():判断文件/文件夹是否存在 file.delete():删除文件/文件夹 file.isDirectory():判读是否为目录 file.isFile():判读是否为文件夹 file.mkdir():创建文件夹(仅限一级目录) file.mkdirs():创建多及目录文件夹(包括但不限一级目录) file.createNewFile():创建文件 file.getAbsolutePath():得到文件/文件夹的绝对路径 file.getName():得到文件/文件夹的名字 file.String():同样是得到文件/文件夹的绝对路径等于file.getAbsolutePath() file.getParent():得到父目录的绝对路径String 不可以调用可以调用mkdir()方法

file.getParentFile():得到父目录的绝对路径的返回值是File型可以调用mkdir()方法

String[] gdir.list():得到目录的子目录文件的名称(不是绝对路径) File[] dir.listFiles():得到目录的子目录文件事是否存在。

经验分享 程序员 微信小程序 职场和发展