Java IO 第一部分——(文检 *** 作)

Java IO 第一部分——(文检 *** 作),第1张

Java IO 第一部分——(文检 *** 作) Java IO 第一部分(关于文件 *** 作)

文件 *** 作 在各个编程语言中,都是基本中的基本。

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(); 
指定位置,遍历目标文件

下面 举个例子,

  1. 实际遍历 E 盘 文件夹 “1” 里面的 文件
  2. 查找 文件后缀为 .mp4 的文件
  3. 列出不是 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("所给目录为空");
        }
    }
}

下面 即是遍历的结果

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存