java 文件读写详解

2025-04-13 19

Java 文件读写详解

在Java中,文件的读写操作是非常常见的需求。详细讲解如何使用Java进行文件的读写操作,并提供多种实现思路和代码示例。以下是解决方案的:

  • 文件读取:可以使用FileInputStreamBufferedReaderFiles.readAllLines等方法来读取文件内容。
  • 文件写入:可以通过FileOutputStreamBufferedWriterFiles.write等方法来写入文件。

接下来,我们将通过具体的代码示例来详细说明每种方法的实现。


1. 使用 FileInputStream 和 FileOutputStream 进行文件读写

这是最基本的文件读写方式,适合处理二进制文件或字节流。

1.1 文件读取

java
import java.io.FileInputStream;
import java.io.IOException;</p>

<p>public class FileReadExample {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("input.txt")) {
            int content;
            while ((content = fis.read()) != -1) {
                System.out.print((char) content);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1.2 文件写入

java
import java.io.FileOutputStream;
import java.io.IOException;</p>

<p>public class FileWriteExample {
    public static void main(String[] args) {
        try (FileOutputStream fos = new FileOutputStream("output.txt")) {
            String data = "Hello, World!";
            byte[] bytes = data.getBytes();
            fos.write(bytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. 使用 BufferedReader 和 BufferedWriter 进行文件读写

这种方式更适合处理文件,效率较高,且支持按行读取和写入。

2.1 文件读取

java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;</p>

<p>public class BufferedReaderExample {
    public static void main(String[] args) {
        try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2.2 文件写入

java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;</p>

<p>public class BufferedWriterExample {
    public static void main(String[] args) {
        try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
            bw.write("Hello, World!");
            bw.newLine(); // 换行
            bw.write("This is a test.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. 使用 Files 类进行文件读写

Files类是Java NIO库的一部分,提供了更简洁的API来处理文件读写。

3.1 文件读取

java
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;</p>

<p>public class FilesReadExample {
    public static void main(String[] args) {
        try {
            List lines = Files.readAllLines(Paths.get("input.txt"));
            for (String line : lines) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

3.2 文件写入

java
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;</p>

<p>public class FilesWriteExample {
    public static void main(String[] args) {
        Path path = Paths.get("output.txt");
        try {
            Files.write(path, Arrays.asList("Hello, World!", "This is a test."));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

4. 使用 Scanner 进行文件读取

Scanner类可以方便地从文件中读取数据,尤其适合处理结构化数据(如数字、字符串等)。

4.1 文件读取

java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;</p>

<p>public class ScannerReadExample {
    public static void main(String[] args) {
        try (Scanner scanner = new Scanner(new File("input.txt"))) {
            while (scanner.hasNextLine()) {
                System.out.println(scanner.nextLine());
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

5.

多种Java文件读写的方法,包括:
- 基本的FileInputStreamFileOutputStream
- 高效的BufferedReaderBufferedWriter
- 简洁的Files
- 方便的Scanner

根据实际需求选择合适的方式。如果需要处理大量数据,建议使用缓冲流(如BufferedReaderBufferedWriter)。如果追求代码简洁性,可以选择Files类。

Image

版权信息

(本文地址:https://www.nzw6.com/40775.html)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!cheeksyu@vip.qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有积分奖励和额外收入!
5.严禁将资源用于任何违法犯罪行为,不得违反国家法律,否则责任自负,一切法律责任与本站无关

源码下载