Home  >  Article  >  Java  >  How does Java I/O stream read and write files?

How does Java I/O stream read and write files?

WBOY
WBOYOriginal
2024-04-14 09:39:01563browse

Java I/O streams facilitate file processing: Reading files: Use a FileInputStream object to create an input stream. Use the read() method to read the file contents into a byte array. Iterate over the byte array and print the contents. Writing to a file: Use a FileOutputStream object to create an output stream. Use the write() method to write a string to a file. Practical case: Use FileInputStream and Scanner to read specific lines from a file. Read the file line by line and compare the line numbers. Print the contents of the line matching the line number.

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

Java I/O streams: reading and writing files

Introduction

Java I/O streams provide a convenient way to process files. We can read and write files using streams.

Read and write files

1. Read files

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. Write files

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();
        }
    }
}

Practical case

Read specific lines from a file

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();
        }
    }
}

The above is the detailed content of How does Java I/O stream read and write files?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn