欢迎访问宙启技术站
智能推送

如何使用Java实现文件读取和写入

发布时间:2023-06-16 10:17:18

文件读取和写入在Java中非常重要,因为很多应用程序需要读取或写入文件作为输入或输出。下面将介绍如何使用Java实现文件读取和写入。

1. 文件读取

Java提供了几种方式读取文件,包括使用文件输入流和缓冲输入流。前者逐字节地读取文件,而后者允许逐行读取。下面是一个使用文件输入流的示例代码:

import java.io.*;

public class ReadFile {
  public static void main(String[] args) {
    try {
      File file = new File("filename.txt");
      FileInputStream fis = new FileInputStream(file); 
      int i; 
      while ((i = fis.read()) != -1) {
        System.out.print((char) i);
      }
      fis.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

这段代码读取名为“filename.txt”的文件,并将文件内容打印到控制台上。注意使用try-catch语句捕获可能出现的IOException异常。

下面是一个使用缓冲输入流的示例代码。例如,在读取CSV文件时,会经常使用到缓冲输入流:

import java.io.*;

public class ReadCSVFile {
    public static void main(String[] args) {
        String line = "";
        String csvSplitBy = ",";
        try {
            BufferedReader br = new BufferedReader(new FileReader("filename.csv"));
            while ((line = br.readLine()) != null) {
                String[] content = line.split(csvSplitBy);
                System.out.println("Column 1: " + content[0]
                                   + " Column 2: " + content[1]
                                   + " Column 3: " + content[2]);
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

该示例代码使用缓冲输入流逐行读取内容,并将每行分割成三个列,然后将它们打印出来。

2. 文件写入

Java也提供了几种方式写入文件,包括使用文件输出流和缓冲输出流。前者逐字节地写入文件,而后者允许逐行写入。下面是一个使用文件输出流的示例代码:

import java.io.*;

public class WriteFile {
    public static void main(String[] args) {
        try {
            String data = "This is the data that will be written to the file";
            FileOutputStream fos = new FileOutputStream("filename.txt");
            byte[] byteArray = data.getBytes();
            fos.write(byteArray);
            fos.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这段代码将字符串“data”写入名为“filename.txt”的文件中。注意使用try-catch语句捕获可能出现的IOException异常。

下面是一个使用缓冲输出流的示例代码。例如,在写入CSV文件时,会经常使用到缓冲输出流:

import java.io.*;

public class WriteCSVFile {
    public static void main(String[] args) {
        String csvData = "Column 1,Column 2,Column 3
"
                        + "Value 1,Value 2,Value 3
"
                        + "Value 4,Value 5,Value 6";
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter("filename.csv"));
            bw.write(csvData);
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

该示例代码将字符串“csvData”写入名为“filename.csv”的文件中,并使用逗号和换行符分隔每列和每行。注意使用try-catch语句捕获可能出现的IOException异常。

总结

本文介绍了如何使用Java实现文件读取和写入,包括文件输入流、文件输出流、缓冲输入流和缓冲输出流。使用Java进行文件读取和写入是任何Java开发人员需要掌握的基础技能之一。