【java基础】File操作详解

简介: 【java基础】File操作详解

Java的File类提供了用于操作文件系统的各种方法。以下是一些关于Java File类的基础知识:

创建新的文件

File file = new File("newfile.txt");  
if (file.createNewFile()) {  
    System.out.println("文件创建成功");  
} else {  
    System.out.println("文件已经存在");  
}

创建新的目录

File dir = new File("newdirectory");  
if (dir.mkdir()) {  
    System.out.println("目录创建成功");  
} else {  
    System.out.println("目录已经存在");  
}

删除文件或目录

File file = new File("file.txt");  
if (file.delete()) {  
    System.out.println("文件删除成功");  
} else {  
    System.out.println("文件删除失败");  
}

重命名文件或目录

File oldFile = new File("oldname.txt");  
File newFile = new File("newname.txt");  
if (oldFile.renameTo(newFile)) {  
    System.out.println("重命名成功");  
} else {  
    System.out.println("重命名失败");  
}

检查文件或目录是否存在

File file = new File("file.txt");  
if (file.exists()) {  
    System.out.println("文件存在");  
} else {  
    System.out.println("文件不存在");  
}

获取文件或目录的长度

File file = new File("file.txt");  
long length = file.length();  
System.out.println("文件长度: " + length + " bytes");

获取绝对路径

File file = new File("file.txt");  
String absolutePath = file.getAbsolutePath();  
System.out.println("绝对路径: " + absolutePath);

列出目录中的所有文件

注意:从Java 7开始,建议使用 listFiles() 方法。它返回一个包含目录中所有文件的 File 对象数组。这个方法返回 null 如果此目录不为目录,或者如果由于其他原因无法列出所有文件。此外,还需要处理 IOException。以下是示例代码:

File dir = new File("directory");  
File[] files = dir.listFiles();  
if (files != null) {  
    for (File file : files) {  
        System.out.println(file.getName());  
    }  
} else {  
    System.out.println("无法列出目录中的所有文件");  
}

实战代码如下

获取目录下所有文件

package com.croot.rims;


import com.croot.rims.dao.AttachmentinfoDao;
import com.croot.rims.dao.ProjectMapper;
import com.croot.rims.entity.Attachmentinfo;
import com.croot.rims.entity.story.request.MappingFiles;
import com.croot.rims.entity.story.request.StoreFiles;
import com.croot.rims.service.story.StoryService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = RimsServerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class SynchronizeAttachmentsTask {
 

    @Test
    public void test() {
        String basePath = "C:\\Users\\Administrator\\Desktop\\fsdownload";
        File dir = new File(basePath);

        List<File> allFileList = new ArrayList<>();

        // 判断文件夹是否存在
        if (!dir.exists()) {
            System.out.println("目录不存在");
            return;
        }

        getAllFile(dir, allFileList);

        for (File file : allFileList) {
            String fileName = file.getName();
      System.out.println(fileName);

        }
        System.out.println("该文件夹下共有" + allFileList.size() + "个文件");

    }
    public static void getAllFile(File fileInput, List<File> allFileList) {
        // 获取文件列表
        File[] fileList = fileInput.listFiles();
        assert fileList != null;
        for (File file : fileList) {
            if (file.isDirectory()) {
                // 递归处理文件夹
                // 如果不想统计子文件夹则可以将下一行注释掉
                getAllFile(file, allFileList);
            } else {
                // 如果是文件则将其加入到文件数组中
                allFileList.add(file);
            }
        }
    }

}


目录
相关文章
|
3月前
|
Java BI 数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
13天前
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
6天前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
2月前
|
Java 编译器
成功解决:java file outside of source root
解决Java文件不在源代码根目录内的问题,可以通过在IDEA中将包含.java文件的目录设置为Sources Root来修复。
成功解决:java file outside of source root
|
2月前
|
Java
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
这篇文章介绍了Java中使用`renameTo()`、`Files.copy()`等方法对文件进行重命名、移动和复制的操作,并提供了代码实例和测试效果。
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
|
2月前
|
存储 缓存 Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
44 3
|
3月前
|
Java
java 文件上传 :MultipartFile 类型转换为file类型
java 文件上传 :MultipartFile 类型转换为file类型
58 9
|
3月前
|
存储 Java 索引
Java ArrayList操作指南:如何移除并返回第一个元素
通过上述方法,你可以方便地从Java的 `ArrayList` 中移除并返回第一个元素。这种操作在日常编程中非常常见,是处理列表时的基本技能之一。希望这篇指南能帮助你更好地理解和运用Java的 `ArrayList`。
39 4
|
3月前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3月前
|
SQL 缓存 Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
下一篇
无影云桌面