阿里云开发者社区

电脑版
提示:原网页已由神马搜索转码, 内容由developer.aliyun.com提供.

【java基础】File操作详解

2024-04-2521
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介:【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);            }        }    }
}


文章标签:
目录
相关文章
|
2月前
|
JavaBI数据处理
如何在Java中实现Excel操作
如何在Java中实现Excel操作
|
5天前
|
Java大数据API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
|
1月前
|
Java编译器
成功解决:java file outside of source root
解决Java文件不在源代码根目录内的问题,可以通过在IDEA中将包含.java文件的目录设置为Sources Root来修复。
成功解决:java file outside of source root
|
1月前
|
Java
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
这篇文章介绍了Java中使用`renameTo()`、`Files.copy()`等方法对文件进行重命名、移动和复制的操作,并提供了代码实例和测试效果。
java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)
|
1月前
|
存储缓存Java
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
15 Java IO流(File类+IO流+字节流+字符流+字节编码)
4333
|
2月前
|
Java
java 文件上传 :MultipartFile 类型转换为file类型
java 文件上传 :MultipartFile 类型转换为file类型
5299
|
2月前
|
存储Java索引
Java ArrayList操作指南:如何移除并返回第一个元素
通过上述方法,你可以方便地从Java的 `ArrayList` 中移除并返回第一个元素。这种操作在日常编程中非常常见,是处理列表时的基本技能之一。希望这篇指南能帮助你更好地理解和运用Java的 `ArrayList`。
3844
|
2月前
|
分布式计算DataWorksJava
DataWorks操作报错合集之使用ODPS Tunnel Upload功能时,遇到报错:Java 堆内存不足,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
SQL缓存Java
使用MyBatis优化Java持久层操作
使用MyBatis优化Java持久层操作
|
2月前
|
JavaAPI开发者
Java中的文件I/O操作详解
Java中的文件I/O操作详解

热门文章

最新文章