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\ 文件夹不存在,会报错。
testFile.createNewFile();// 能创建多级目录
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;
System.out.println("File.separator:" + File.separator);
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()方法