Java 文件操作

文件处理简介

文件处理是任何应用程序的重要部分。Java 提供了许多用于创建、读取、更新和删除文件的方法。

Java 文件处理

Java 中的文件处理主要通过 java.io 包中的 File 类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。

创建 File 对象

要使用 File 类,我们首先需要创建该类的对象,然后指定文件名或目录名。

import java.io.File;

File myObj = new File("filename.txt");

File 类的常用方法

File 类提供了许多有用的方法,用于创建和获取有关文件的信息,例如:

  • canRead(): 测试文件是否可读
  • canWrite(): 测试文件是否可写
  • createNewFile(): 创建一个空文件
  • delete(): 删除文件
  • exists(): 测试文件是否存在
  • getName(): 返回文件的名称
  • getAbsolutePath(): 返回文件的绝对路径名
  • length(): 返回文件的大小(字节为单位)
  • list(): 返回目录中文件的数组
  • mkdir(): 创建一个目录

读取文件

可以使用多种方法读取文件,例如 ScannerBufferedReaderFileInputStream 等。

使用 Scanner 类读取文件内容

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner; public class ReadFile {
public static void main(String[] args) {
try {
File myObj = new File("filename.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}

写入文件

同样,可以使用多种方法将数据写入文件,例如 PrintWriterBufferedWriterFileOutputStream 等。

使用 PrintWriter 类写入文件内容

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter; public class WriteToFile {
public static void main(String[] args) {
try {
PrintWriter myWriter = new PrintWriter("filename.txt");
myWriter.write("Handling files in Java can be a bit tricky, but fun enough!");
myWriter.close();
System.out.println("Successfully wrote to the file.");
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}

删除文件

要删除文件,可以使用 delete() 方法。

示例

import java.io.File;

public class DeleteFile {
public static void main(String[] args) {
File myObj = new File("filename.txt");
if (myObj.delete()) {
System.out.println("Deleted the file: " + myObj.getName());
} else {
System.out.println("Failed to delete the file.");
}
}
}

删除文件夹示例

import java.io.File;

public class DeleteFolder {
public static void main(String[] args) {
File myObj = new File("C:\\Users\\MyName\\Test");
if (myObj.delete()) {
System.out.println("Deleted the folder: " + myObj.getName());
} else {
System.out.println("Failed to delete the folder.");
}
}
}

删除多个文件或文件夹示例

import java.io.File;

public class DeleteMultipleFiles {
public static void main(String[] args) {
File dir = new File("C:\\Users\\MyName\\Test");
File[] files = dir.listFiles();
for (File file : files) {
if (file.delete()) {
System.out.println("Deleted: " + file.getName());
} else {
System.out.println("Failed to delete: " + file.getName());
}
}
}
}

以上示例提供了一些基本的文件操作方法,但在实际应用中,您可能需要更复杂的逻辑和错误处理。确保处理文件操作时考虑到可能发生的异常,以提高程序的健壮性。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

Java 文件处理完全指南:创建、读取、写入和删除文件详细解析的更多相关文章

  1. IOS在Document目录下创建文件夹、保存、读取、以及删除文件

    // 在Documents目录下创建一个名为LaunchImage的文件夹 NSString *path = [[NSHomeDirectory() stringByAppendingPathComp ...

  2. Hadoop权威指南:HDFS-目录,查询文件系统,删除文件

    Hadoop权威指南:HDFS-目录,查询文件系统,删除文件 [TOC] 目录 FileSystem实例提供了创建目录的方法 public boolean mkdirs(Path f) throws ...

  3. linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)

    文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...

  4. api进阶Day2(低级流)文件流的输出流、读取流。向文件中写入文本数据、读取文件中的字符串、用lambda表达式创建文件过滤器。

    文件流:输出流: package io; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  5. 【java开发系列】— JDOM创建、改动、删除、读取XML文件

    有非常多中操作XML文件的方法,这里介绍一下JDOM的用法和技巧. JDOM下载地址 创建XML文档 XML文件是一种典型的树形文件,每一个文档元素都是一个document元素的子节点. 而每一个子元 ...

  6. 【java开发系列】—— JDOM创建、修改、删除、读取XML文件

    有很多中操作XML文件的方法,这里介绍一下JDOM的使用方法和技巧. JDOM下载地址 创建XML文档 XML文件是一种典型的树形文件,每个文档元素都是一个document元素的子节点.而每个子元素都 ...

  7. nio实现文件读取写入数据库或文件

    1.nio实现读取大文件,之后分批读取写入数据库 2.nio实现读取大文件,之后分批写入指定文件 package com.ally; import java.io.File; import java. ...

  8. bat实现创建、复制、删除文件及文件夹

    1 建bat文件自动执行复制,删除命令. 例1:以下是复制cd.dll文件至windows\system32的bat文件内容: copy cd.dll %windir%\system32 例2:下面一 ...

  9. 批处理bat实现创建、复制、删除文件及文件夹

    转自:http://blog.csdn.net/linda1000/article/details/10221285 1 建bat文件自动执行复制,删除命令. 例1:以下是复制cd.dll文件至win ...

  10. [Xcode 实际操作]七、文件与数据-(5 )复制、移动、删除文件和删除文件夹

    目录:[Swift]Xcode实际操作 本文将演示如何复制.移动和删除文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit class ...

随机推荐

  1. 使用矩池云 Docker 虚拟机安装VNC、Conda、Python及CUDA

    矩池云虚拟机支持 Docker 使用,但是由于虚拟机目前不支持启动时传递环境变量来设置VNC.Jupyterlab 连接密码,所以我们没有创建相关基础镜像(设置固定密码容易泄漏),下面给大家介绍手动安 ...

  2. Windows 实例如何开放端口

    矩池云 Windows 实例相比于 Linux 实例,除了在租用机器的时候自定义端口外,还需要在 Windows防火墙中添加入口规则.接下来将教大家如何设置 Windows 防火墙,启用端口. 租用成 ...

  3. XILINX SDK烧录FLASH报错不支持旧版hw_server

    最近频繁遇到SDK报错,说是不支持hw_server旧版本,此时打开vivado识别的时候也是一样报错,可能原因是我电脑安装了多个版本的VIVADO导致的,那么怎么解决呢? 打开任务管理器,kill ...

  4. 使用OpenTelemetry进行监控

    工具介绍 注意:该部分介绍摘抄自:https://www.aiwanyun.cn/archives/174 Prometheus.Grafana.Node Exporter 和Alertmanager ...

  5. C++特殊类的设计与单例模式

    #pragma once // 1. 设计一个不能被拷贝的类/* 解析:拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算 ...

  6. Java 类的内部成员之五:内部类

    1 package com.bytezreo.innerclass; 2 3 /** 4 * 5 * @Description 类的内部成员之五:内部类 6 * @author Bytezero·zh ...

  7. 一文搞懂如何自己写一个Python库

    一文搞懂如何自己写一个Python库 你是否曾想过为自己的Python项目编写一个库,以便在不同项目中重复使用代码? 并且能在PyPI仓库中发布,并通过pip install 库名来安装使用 编写Py ...

  8. Codeforces Round 829 (Div. 1)A1. Make Nonzero Sum (easy version)(思维找规律)

    先考虑无解的情况:当n为奇数时无解 相邻的两个元素一定可以变成0 \[a[i] != a[i + 1]时, 分成[i, i], 和[i + 1, i + 1] \] \[a[i] = a[i + 1] ...

  9. linux的内置crontab(定时任务)的简单介绍

    编写定时任务的基本命令: #查看当前用户的crontab crontab -l:   #编辑crontab任务 crontab -e:   #删除crontab任务 crontab -r   定时任务 ...

  10. 【开发】操作系统应用基础-Linux常用Shell命令

    一 Linux操作系统和Shell 简介 操作系统(Operating Systems, OS)实际上是一种用于计算机的软.硬件资源管理调度的系统级软件,它的主体是内核(Kernel),其主要负责进程 ...