Maison  >  Article  >  Java  >  Comment le flux Java I/O lit-il et écrit-il des fichiers ?

Comment le flux Java I/O lit-il et écrit-il des fichiers ?

WBOY
WBOYoriginal
2024-04-14 09:39:01567parcourir

Les flux d'E/S Java facilitent le traitement des fichiers : Lire des fichiers : utilisez un objet FileInputStream pour créer un flux d'entrée. Utilisez la méthode read() pour lire le contenu du fichier dans un tableau d'octets. Parcourez le tableau d'octets et imprimez le contenu. Écriture dans un fichier : utilisez un objet FileOutputStream pour créer un flux de sortie. Utilisez la méthode write() pour écrire une chaîne dans un fichier. Cas pratique : Utilisez FileInputStream et Scanner pour lire des lignes spécifiques d'un fichier. Lisez le fichier ligne par ligne et comparez les numéros de ligne. Imprime le contenu de la ligne correspondant au numéro de ligne.

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

Flux d'E/S Java : lecture et écriture de fichiers

Introduction

Les flux d'E/S Java offrent un moyen pratique de traiter des fichiers. Nous pouvons lire et écrire des fichiers à l'aide de flux.

Lire et écrire des fichiers

1. Lire des fichiers

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. Écrire des fichiers

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

Cas pratique

Lire des lignes spécifiques à partir de fichiers

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn