文件操作 在各个编程语言中,都是基本中的基本。
Java 中 删除文件,不需要经过电脑的回收站,直接就把 它干掉(诸位切记,删前三思,奇怪的电影记得备份) []~( ̄▽ ̄)~*
文件操作中,可能会用到的其他操作增加(创建文件、创建文件夹)
删除(删除文件、删除目录)
修改 (更改文件位置)
查找 (查找一个文件、遍历一个目录)
========================================= ------ 增 --- 增 ---------------- ----------------------------------------- //创建 文件 和 文件夹 File file = new File("E:\1"); // E盘下的1 文件夹 // 或者 File file1 = new File("E:\文件.txt"); 文件可以不存在,之后用createNewFile() 创建 // 创建文件 createNewFile() boolean flag = file.createNewFile(); // 如果文件不存在,就会创建 System.out.println(flag?"创建成功":"创建失败"); // 创建指定路径的文件 File a = new File("C:\视频","a.mp4"); a.createNewFile(); // 或者 下面用 dir File b = new File(dir,"b.mp4"); // 创建文件夹 File dir = new File("c:\视频"); dir.mkdir(); // 创建 路径 File dir = new File("E:\视频小语种视频好看的视频") dir.mkdirs(); ========================================= ------ 删 --- 删 ---------------- -------------------------------------- // 直接删除文件 a.delete(); // 等Java 虚拟机终止时再删除 a.deleteOnExit(); // 删除多级文件夹和文件 public static void Main(String[] args){ // 删除 "E:\视频" 下的文件和文件夹 File file = new File("E:\视频"); deleteFolder(file); }// Main public static void deleteFolder(File file) { if (file.isFile()){ file.delete(); }else { File[] files = file.listFiles(); for (File f : files) { if (f.isFile()) { //如果是文件就直接删除 f.delete(); } else { //如果是文件夹就递归调用 deleteFolder(f); } } //删除空目录 file.delete(); }// deleteFolder ========================================= ------ 改 --- 改 ---------------- -------------------------------------- // 移动文件 file.renameTo() -- 举例子 File file = new File("D:\1.txt"); // 原来位置 File newFile = new File("C:\a.txt"); // 新位置 file.renameTo(newFile); ========================================= ------ 查 --- 查 ---------------- -------------------------------------- // 举个例子 File e = new File("E:\视频"); File[] file = e.listFiles(); // file 里就是 "视频文件夹" 中所有的东西了 // 查找 文件大小查过 100Mb 的文件 if(file.length() > 100*1024*1024){ //输出文件名称 System.out.println(file.getName()); //输出文件的绝对路径 System.out.println("文件的绝对路径:"+file.getAbsolutePath()) //删除文件 file.delete(); System.out.println(file.getAbsolutePath()+"已删除"); // 显示删除 文件 }
--------------------------------------
//获取 文件名称
file.getName();
// 获取 文件的绝对路径
file.getAnsolutePath();
// 获取 文件的父文件夹名称
file.getParent();
file.getParentFile();
// 获取 文件的路径
file.getPath();
// 获取 文件的长度 按照字节算的。100*1024*1024 描述的就是 100Mb
file.length(); // if(file.length() < 100*1024*1024){...}
// 判断 文件或者目录是否存在
file.exists();
// 获取 文件夹中所有的文件对象
file.listFile();
指定位置,遍历目标文件
下面 举个例子,
- 实际遍历 E 盘 文件夹 “1” 里面的 文件
- 查找 文件后缀为 .mp4 的文件
- 列出不是 MP4 格式的文件
// Java IO File 文件的实际操作
package com;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileDemo {
public static void main(String[] args) {
File e = new File("E:\1"); // 1 这是一个文件夹
File[] files = e.listFiles(); // files 这就是 1 下所有文件和文件夹
// 自定义 listFiles 方法,去遍历 files
listFiles(files);
}
public static void listFiles(File[] files){
// 用来存储 不是MP4 文件的名称
List stringList = new ArrayList<>(20);
// 查到不是文件
int time = 0;
if (files !=null && files.length > 0){
for (File file : files){
// 首先去判断,这个file 是不是文件
if (file.isFile()) {
// 文件
// 执行查找 .mp4
if (file.getName().endsWith(".mp4")) {
// 找到 MP4
System.out.println(file.getName());
} else {
time++;
stringList.add(file.getName());
System.out.println(file.getName());
}
}else {
// 文件夹
// 递归 查找文件
File[] file2 = file.listFiles();
listFiles(file2);
}
}// for 遍历 目标位置
System.out.println("有"+time+"个文件不是MP4,如下:");
System.out.println(stringList);
}else {
System.out.println("所给目录为空");
}
}
}
下面 即是遍历的结果



