Java高级练习(文件 IO流)

JavaIO流操作实践:文件复制、遍历、读写与自动化登录

以下是一些可以学习Java IO流的编程题:

1. Java IO流实现一个文件复制程序,将一个文件的内容复制到另一个文件中。

import java.io.*;

//Java IO流实现一个文件复制程序,将一个文件的内容复制到另一个文件中。
public class FileCopy {
   
   
    public static void main(String[] args) {
   
   
        String sourceFilePath = "D:\\kecheng\\month316\\src\\wenjian\\123.txt";
        String targetFilePath = "D:\\kecheng\\month316\\src\\wenjian\\456.txt";

        try (InputStream inputStream = new FileInputStream(sourceFilePath);
             OutputStream outputStream = new FileOutputStream(targetFilePath)) {
   
   

            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) > 0) {
   
   
                outputStream.write(buffer, 0, length);
            }

            System.out.println("文件复制成功!");
        } catch (IOException e) {
   
   
            e.printStackTrace();
        }
    }
}
/**
 * 在这个示例中,我们使用了Java的InputStream和OutputStream类来读取和写入文件。
 * 我们首先指定了源文件和目标文件的路径,然后使用try-with-resources语句创建了输入流和输出流对象。
 * 我们使用一个缓冲区数组来读取和写入文件,并且在循环中不断读取源文件的内容,然后写入到目标文件中。
 * 最后,我们关闭输入流和输出流,并输出一个成功的消息。
 */

2. Java IO流实现一个文件夹遍历程序,输出指定文件夹下的所有文件和子文件夹。

package wenjian;

import java.io.File;

//Java IO流实现一个文件夹遍历程序,输出指定文件夹下的所有文件和子文件夹。
public class FolderTraverse {
   
   
    public static void main(String[] args) {
   
   
        File folder = new File("D:\\kecheng\\month316\\src");
        traverseFolder(folder);
    }
    public static void traverseFolder(File folder) {
   
   
        if (folder.isDirectory()) {
   
   
            System.out.println("Folder: " + folder.getAbsolutePath());
            File[] files = folder.listFiles();
            if (files != null) {
   
   
                for (File file : files) {
   
   
                    traverseFolder(file);
                }
            }
        } else {
   
   
            System.out.println("File: " + folder.getAbsolutePath());
        }
    }
}
/**
 *说明:
 * 1. 使用 `java.io.File` 类来表示文件和文件夹。
 * 2. `listFiles()` 方法返回文件夹下的所有文件和子文件夹,如果是文件则直接输出,如果是文件夹则递归调用 `traverseFolder()` 方法。
 * 3. `isDirectory()` 方法判断是否是文件夹。
* */

3. Java IO流实现一个读取文本文件的程序,将文件内容读取到内存中并输出。

package wenjian;
//Java IO流实现一个写入文本文件的程序,将指定的字符串写入到文件中。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class TextFileReader {
   
   
    public static void main(String[] args) {
   
   
        String filePath = "D:\\kecheng\\month316\\src\\wenjian\\456.txt"; // 指定文件路径
        BufferedReader reader = null;
        try {
   
   
            reader = new BufferedReader(new FileReader(filePath));
            String line = null;
            while ((line = reader.readLine()) != null) {
   
    // 逐行读取文件内容
                System.out.println(line);
            }
        } catch (IOException e) {
   
   
            e.printStackTrace();
        } finally {
   
   
            if (reader != null) {
   
   
                try {
   
   
                    reader.close();
                } catch (IOException e) {
   
   
                    e.printStackTrace();
                }
            }
        }
    }
}
/**
 * 其中,我们使用了`BufferedReader`类来读取文件内容,`FileReader`类用于创建读取文件的管道。
 * 在`try-catch`语句块中,我们使用`readLine()`方法逐行读取文件内容,并将每行内容输出到控制台。
 * 最后在`finally`语句块中关闭文件读取管道。
 */

4. Java IO流实现一个写入文本文件的程序,将指定的字符串写入到文件中。

package wenjian;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class control1 {
   
   
    public static void main(String[] args) throws IOException {
   
   
// 1 创建一个文件字节输出流管道与目标文件联通
//第二个参数 表示是否实行追加写
        OutputStream os = new FileOutputStream("D:\\kecheng\\month316\\src\\wenjian\\123.txt",true);
//2 写出数据到目标文件
        os.write('a');
        os.write(99);
//写一个字节数组
        byte
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值