首页 > 图灵资讯 > 技术篇>正文

Java I/O流如何读写文件?

2024-04-15 13:31:10

java i/o流可以方便地处理文件:阅读文件:使用fileinputstream对象创建输入流。使用read()将文件内容读取到字节数组。遍历字节数组打印内容。写入文件:使用fileoutputstream对象创建输出流。使用write()方法将字符串写入文件。实战案例:使用fileinputstream和scanner从文件中读取特定行。逐行读取文件,比较行号。打印匹配行号的行内容。

Java I/O流如何读写文件?

Java I/O 流:读写文件

简介

Java I/O 流程为处理文件提供了方便的方法。我们可以使用流读和写入文件。

读写文件

1. 读取文件

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadFile {

    public static void main(String[] args) {
        try {
            // 创建一个 FileInputStream 对象
            FileInputStream fis = new FileInputStream(new File("file.txt"));

            // 创建字节数组
            byte[] data = new byte[1024];

            // 读取文件内容到字节数组
            int readBytes = fis.read(data);

            // 循环历字节数组,打印文件内容
            for (int i = 0; i < readBytes; i++) {
                System.out.print((char) data[i]);
            }

            // 关闭文件输入流
            fis.close();

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

登录后复制

2. 写入文件

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFile {

    public static void main(String[] args) {
        try {
            // 创建一个 FileOutputStream 对象
            FileOutputStream fos = new FileOutputStream(new File("file.txt"));

            // 将字符串写入文件中
            String data = "This is a sample text.";
            fos.write(data.getBytes());

            // 关闭文件输出流
            fos.close();

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

登录后复制

实战案例

读取文件中的特定行

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;

public class ReadSpecificLine {

    public static void main(String[] args) {
        try {
            // 创建一个 FileInputStream 对象
            FileInputStream fis = new FileInputStream(new File("file.txt"));

            // 创建一个 Scanner 对象
            Scanner scanner = new Scanner(fis);

            // 输入要读取的行号
            int lineNumber = 5;

            // 逐步读取文件
            int currentLine = 1;
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();

                // 若当前行号等于读取行号,则打印该行
                if (currentLine == lineNumber) {
                    System.out.println(line);
                }

                currentLine++;
            }

            // 关闭文件输入流
            fis.close();

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

登录后复制

上面是Java I/O流如何读写文件?详情请关注图灵教育的其他相关文章!

上一篇 Java虚拟机的安全机制有哪些?
下一篇 Java内存管理中的对象终结机制如何工作?

文章素材均来源于网络,如有侵权,请联系管理员删除。