JAVA语言 实验五 Java I/O

一、实验目的

1、掌握使用File类进行文件属性操作的方法。

2、掌握使用文件流进行文件的顺序读/写的方法。

二、实验环境

       Windows,IDEA。

三、实验内容

1、将一个文本文件的内容按行读出,每读出一行就顺序加上行号,并写入到另一个文件中。

2、编写程序,输入一个文件夹路径,把该文件夹下的所有扩展名为.txt的文件名显示在屏幕上。

四、完成情况

实验内容按要求完成,代码运行正常,已检查。

五、源代码

package com.wzh;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.File;
import java.io.IOException;

public class AddLineNumberToFile {
    public static void main(String[] args) {
        // 1. 读取文件内容并添加行号,然后写入另一个文件
        addLineNumberToFile("input.txt", "output.txt");

        // 2. 显示指定文件夹下的所有扩展名为.txt的文件名
        displayTxtFilesInFolder("D:\\test\\src\\com\\wzh");
    }

    private static void addLineNumberToFile(String inputFileName, String outputFileName) {
        try (BufferedReader reader = new BufferedReader(new FileReader(inputFileName));
             BufferedWriter writer = new BufferedWriter(new FileWriter(outputFileName))) {

            String line;
            int lineNumber = 1;

            while ((line = reader.readLine()) != null) {
                String lineWithNumber = lineNumber + ": " + line;
                writer.write(lineWithNumber);
                writer.newLine();
                lineNumber++;
            }

            System.out.println("File processing completed.");

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void displayTxtFilesInFolder(String folderPath) {
        File folder = new File(folderPath);

        if (folder.isDirectory()) {
            File[] files = folder.listFiles((dir, name) -> name.endsWith(".txt"));

            if (files != null && files.length > 0) {
                System.out.println("Text files in the folder:");

                for (File file : files) {
                    System.out.println(file.getAbsolutePath());
                }
            } else {
                System.out.println("No text files found in the folder.");
            }
        } else {
            System.out.println("Invalid folder path.");
        }
    }
}

六、程序运行结果截图

七、小结

在第一次提供的代码中,文件路径是硬编码的,而且程序假定在运行的当前工作目录下有 input.txt 文件。确保文件路径是正确的,或者使用命令行参数传递文件路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值