写Java难免会有File文件的操作,也不知道怎么时候,这篇专门整理了一下Java中FIle类的所有方法的使用!
1、File对象的构造方法
//通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
public File(String pathname)
//从父路径名字符串和子路径名字符串创建新的 File实例
public File(String parent, String child)
//从父抽象路径名和子路径名字符串创建新的 File实例
public File(File parent, String child)
2、File类的方法
// 判断文件是否可执行
public boolean canExecute()
// 判断文件是否可阅读
public boolean canRead()
// 判断文件是否可写入
public boolean canWrite()
//创建一个空文件
public boolean createNewFile()
//删除此文件
public boolean delete()
//程序结束删除此文件
public void deleteOnExit()
//判断文件或者文件夹是否存在
public boolean exists()
//获取给定抽象路径名的绝对File对象
public File getAbsoluteFile()
//获取File的绝对路径
public String getAbsolutePath()
//获取File的正确绝对路径文件
public File getCanonicalFile()
//获取File的正确绝对路径
public String getCanonicalPath()
//转成url格式
public URI toURI()
//文件或目录的名称
public String getName()
//获取父文件的路径
public String getParent()
//获取父文件
public File getParentFile()
//文件的路径
public String getPath()
//抽象路径名是否是绝对的
public boolean isAbsolute()
//是否是个目录
public boolean isDirectory()
//是否是文件
public boolean isFile()
//文件是否隐藏
public boolean isHidden()
//文件上次修改的时间
public long lastModified()
//文件的长度
public long length()
//重命名文件或目录
public boolean renameTo(File dest)
//设置文件或目录的最后修改时间
public boolean setLastModified(long time)
//设置成只读
public boolean setReadOnly()
//转成Path对象
public Path toPath()
//比较当前File对象与指定的File对象的路径名。如果当前File对象的路径名字典序在指定的File对象的路径名之前,则返回一个负整数。如果当前File对象的路径名字典序在指定的File对象的路径名之后,则返回一个正整数。如果当前File对象的路径名与指定的File对象的路径名相同,则返回0。
public int compareTo(File pathname)
//创建目录
public boolean mkdir()
public boolean mkdirs()
//目录下所有文件和目录的文件名
public String[] list()
public String[] list(FilenameFilter filter)
//目录下所有文件和目录的绝对路径
public File[] listFiles()
public File[] listFiles(FilenameFilter filter)
public File[] listFiles(FileFilter filter)
3、文件工具类FileUtil和IoUtil(hutool)
FileUtil举例
//拷贝文件或目录
public static File copy(File src, File dest, boolean isOverride)
//列出指定路径下的目录和文件
public static File[] ls(String path)
//创建文件夹,会递归自动创建其不存在的父文件夹,如果存在直接返回此文件夹
public static File mkdir(File dir)
IoUtil举例
//拷贝流,使用默认Buffer大小,拷贝后不关闭流
public static long copy(InputStream in, OutputStream out)
//关闭接口流资源
public static void close(Closeable closeable)
//File文件转成文件流
public static FileInputStream toStream(File file)
File转为MultipartFile
public static MultipartFile getMultipartFile(File file) {
DiskFileItem item = new DiskFileItem("file"
, MediaType.MULTIPART_FORM_DATA_VALUE
, true
, file.getName()
, (int) file.length()
, file.getParentFile());
try {
OutputStream os = item.getOutputStream();
os.write(FileUtils.readFileToByteArray(file));
} catch (IOException e) {
e.printStackTrace();
}
return new CommonsMultipartFile(item);
}