1.错误示范1,输出的是创建文件夹 D:\filepath\test\test.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\test\test.txt
2.错误示范2,如果 D:\filepath\test\ 文件夹不存在,会报错。
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\test fileParentPath:D:\filepath\test D:\filepath\test\test.txt path:D:\filepath\test\test.txt absolutePath:D:\filepath\test\test.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():得到目录的子目录\文件事是否存在。
Java中File使用--创建文件介绍到这里,更多java学习请参考编程字典java教程 和问答部分,谢谢大家对编程字典的支持
原文链接:https://blog.csdn.net/m0_37989184/article/details/93025734?ops_request_misc=&request_id=&biz_id=102&utm_term=java&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-3-93025734.nonecase&spm=1018.2226.3001.4450