使用Java IO函数读取和写入文件
发布时间:2023-06-07 18:16:08
Java IO函数(input/output functions)是用来读取和写入文件的方法。传统上,读取和写入文件在Java中使用IO流技术。Java IO提供了各种输入和输出流,以及其他的I/O类,用于将数据从内存传输到外部设备(磁盘文件、网络连接等),或者从外部设备读取数据到内存中。
Java IO流有两种类型:InputStream和OutputStream。InputStream用于读取文件或者读取字节流,最典型的如FileInputStream和ObjectInputStream。OutputStream用于写入文件或者写入字节流,最典型的如FileOutputStream和ObjectOutputStream。在应用程序中使用Java IO流的时候, 步是创建流对象并打开一个文件或者其他的数据源;第二步是使用流对象读取或者写入数据;第三步是关闭输入/输出流对象。Java IO提供了丰富的输入和输出流,可以适应不同的应用需求。例如:FileReader和FileWriter可以读取和写入字符文件(txt、xml等);ObjectInputStream和ObjectOutputStream可以对数据进行序列化和反序列化等操作。
以下是一些Java IO函数的示例:
读取文本文件:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadTextFile {
public static void main(String[] args) {
BufferedReader reader = null;
try {
File file = new File("/path/to/file.txt");
reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
写入文本文件:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteTextFile {
public static void main(String[] args) {
BufferedWriter writer = null;
try {
File file = new File("/path/to/file.txt");
writer = new BufferedWriter(new FileWriter(file));
writer.write("Hello World!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
读取二进制文件:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadBinaryFile {
public static void main(String[] args) {
FileInputStream input = null;
try {
File file = new File("/path/to/file.bin");
input = new FileInputStream(file);
byte[] data = new byte[(int) file.length()];
input.read(data);
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (input != null) {
input.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
写入二进制文件:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteBinaryFile {
public static void main(String[] args) {
FileOutputStream output = null;
try {
File file = new File("/path/to/file.bin");
output = new FileOutputStream(file);
byte[] data = { 0x00, 0x01, 0x02, 0x03 };
output.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (output != null) {
output.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
总之,Java IO函数是Java应用程序处理输入和输出的核心组成部分。Java IO提供了许多功能强大的输入和输出流,可以帮助开发者读取和写入各种类型的数据,包括文本和二进制文件。在开发应用程序的时候,开发者应该根据应用程序的需求,选择最合适的Java IO函数来实现数据的读写操作。
