java----文件的相关操作

普通文件的增删改查

文件的增删改查操作在Java中可以通过java.io包中的File类来完成。

  1. 文件的创建与添加内容

创建文件的方法:通过File类的构造函数创建File对象,然后调用createNewFile()方法即可创建空文件。如果要在文件中添加内容,可以使用FileWriter类或PrintWriter类中的方法进行写入。

示例代码:

//创建文件
File file = new File("file.txt");
try {
    file.createNewFile();
} catch (IOException e) {
    e.printStackTrace();
}

//向文件中添加内容
//要添加内容到Java  IO文件中,可以使用以下步骤:

//1.  创建FileWriter对象,传入文件路径和布尔值true以表示追加内容而不是覆盖。

//FileWriter writer = new FileWriter("file.txt", true);

//2.  使用write()方法向文件中写入要添加的内容。

//writer.write("This is new content.\n");

//3.  关闭文件。

//writer.close();

完整的例子如下:

import java.io.FileWriter;
import java.io.IOException;
public class AddToFile {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("file.txt", true);
            writer.write("This is new content.\n");
            writer.close();
            System.out.println("Content has been successfully added to the file.");
        } catch (IOException e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}
  1. 文件的读取

使用FileReader类或BufferedReader类中的read()方法可以读取文件中的内容。需要注意的是,在读取文件时需要判断文件是否存在,并处理可能的IO异常。
Java中读取文件内容可以使用java.io包中的File类和InputStream类。下面是InputStream一个简单的示例代码:

//读取文件内容


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFile {
    public static void main(String[] args) {
        File file = new File("test.txt");
        try {
            FileInputStream inputStream = new FileInputStream(file);
            byte[] bytes = new byte[(int) file.length()];
            inputStream.read(bytes);
            String content = new String(bytes);
            System.out.println(content);
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


BufferedReader 示例代码:

```java
//读取文件内容
try {
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
    br.close();
    fr.close();
} catch (IOException e) {
    e.printStackTrace();
}
  1. 文件的修改与删除
    要修改Java中的文件内容,您可以按照以下步骤进行操作:

1.使用File类创建文件对象:

File file = new File(“file.txt”);

2.使用FileWriter类创建一个FileWriter对象以便于向文件中写入数据:

FileWriter fw = new FileWriter(file);

3.使用BufferedWriter对象将内容写入到文件中:

BufferedWriter bw = new BufferedWriter(fw);

4.要添加文本,您可以使用bw.write()方法:

bw.write(“Hello World!”);

5.当您完成写操作后,记得要关闭资源,这样可以防止您在操作完成后忘记关闭文件:

bw.close();

6.如果您要读取文件内容并且在读取时修改文件,您可以使用Scanner和PrintWriter类:

Scanner scanner = new Scanner(file);
PrintWriter pw = new PrintWriter(file);

7.使用scanner.nextLine()方法读取文件中的每一行:

while (scanner.hasNextLine()) {
String line = scanner.nextLine();
pw.println(line.toUpperCase());
}

8.使用pw.flush()方法刷新并保存更改,然后关闭资源:

pw.flush();
pw.close();

这就是用Java io修改文件内容的基本步骤。 请注意,这样的操作可能会导致文件中的数据丢失,因此请始终小心操作,确保您备份了重要的文件。

修改文件内容时,可以通过FileWriter类或PrintWriter类中的方法进行覆盖写入。删除文件时,可以使用File类中的delete()方法。

FileWriter 示例代码:

//修改文件内容
try {
    FileWriter fw = new FileWriter(file);
    fw.write("new content");
    fw.close();
} catch (IOException e) {
    e.printStackTrace();
}

//删除文件
if (file.exists()) {
    file.delete();
}

完整示例代码:

import java.io.*;

public class FileDemo {
    public static void main(String[] args) {

        //创建文件
        File file = new File("file.txt");
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //向文件中添加内容
        try {
            FileWriter fw = new FileWriter(file);
            fw.write("hello world");
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //读取文件内容
        try {
            FileReader fr = new FileReader(file);
            BufferedReader br = new BufferedReader(fr);
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //修改文件内容
        try {
            FileWriter fw = new FileWriter(file);
            fw.write("new content");
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //删除文件
        if (file.exists()) {
            file.delete();
        }
    }

	//删除多级文件夹
    public static void shanchu(File sc){
        //进入文件夹内
        File [] f=sc.listFiles();
        //遍历文件夹里边的内容
        for (File file:f){
            //判断如果是文件的 直接删除
            if(file.isFile()){
                file.delete();
            }
            //判断是文件夹的话进行递归
            else {
                shanchu(file);
            }
        }
        //删除顶层文件
        sc.delete();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值