文件 *** 作 在各个编程语言中,都是基本中的基本。
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 文件的名称 ListstringList = 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("所给目录为空"); } } }
下面 即是遍历的结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)