如何使用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开发人员需要掌握的基础技能之一。
