如何使用Java中的IO函数 - 掌握Java中的输入输出函数及其应用
Java IO(输入输出)是Java标准库中提供的一套用于访问文件、网络、控制台等输入/输出设备的API。Java I/O可以用于读写文件、网络操作、数据库访问等任务。本文将介绍Java中的常用IO函数及其应用。
1. FileInputStream和FileOutputStream类
FileInputStream和FileOutputStream类主要用于读写文件,它们是最基本的IO类。演示代码如下:
import java.io.*;
public class FileIOExample {
public static void main(String[] args) throws IOException {
//读取文件
FileInputStream inputStream = new FileInputStream("input.txt");
int n;
while ((n = inputStream.read()) != -1) {
System.out.print((char)n);
}
inputStream.close();
//写入文件
FileOutputStream outputStream = new FileOutputStream("output.txt");
outputStream.write("Hello World".getBytes());
outputStream.close();
}
}
上面的代码中,我们使用了FileInputStream类读取文件,并使用了FileOutputStream类写入文件。读取文件时,我们使用了read()方法读取文件,它返回一个代表读取到的字节的整数。需要注意的是,read()方法返回的值-1表示已经读完文件。写入文件时,我们使用了write()方法,它将字符转换成字节并写入文件中。
2. BufferedReader和BufferedWriter类
BufferedReader和BufferedWriter类是基于字符的IO类,它们提供了一些方法使得读写文件操作更加高效。演示代码如下:
import java.io.*;
public class BufferedIOExample {
public static void main(String[] args) throws IOException {
//读取文件
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
//写入文件
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
writer.write("Hello World");
writer.newLine();
writer.write("Hello Java");
writer.close();
}
}
上面的代码中,我们使用了BufferedReader类读取文件,并使用了BufferedWriter类写入文件。与FileInputStream和FileOutputStream不同,BufferedReader和BufferedWriter是基于字符的。在读取文件时,我们使用了readLine()方法读取每行的内容。在写入文件时,我们使用了write()方法写入内容,并通过newLine()方法换行。
3. InputStreamReader和OutputStreamWriter类
InputStreamReader和OutputStreamWriter类用于将字节流转换成字符流,或将字符流转换成字节流。演示代码如下:
import java.io.*;
public class InputOutputStreamExample {
public static void main(String[] args) throws IOException {
//将字节流转换成字符流读取文件
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt")));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
//将字符流转换成字节流写入文件
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("output.txt"));
writer.write("Hello World");
writer.close();
}
}
上面的代码中,我们使用了InputStreamReader类将字节流转换成字符流,并使用了OutputStreamWriter类将字符流转换成字节流。在读取文件时,我们将FileInputStream转换成了一个字符流,然后使用读取每行的内容。在写入文件时,我们使用了write()方法将字符写入文件中。
4. DataInputStream和DataOutputStream类
DataInputStream和DataOutputStream类用于读写基本数据类型。演示代码如下:
import java.io.*;
public class DataIOExample {
public static void main(String[] args) throws IOException {
//将基本数据类型写入文件
DataOutputStream outputStream = new DataOutputStream(new FileOutputStream("data.txt"));
outputStream.writeInt(123);
outputStream.writeDouble(3.14);
outputStream.writeUTF("Hello World");
outputStream.close();
//从文件中读取基本数据类型
DataInputStream inputStream = new DataInputStream(new FileInputStream("data.txt"));
int n = inputStream.readInt();
double x = inputStream.readDouble();
String s = inputStream.readUTF();
System.out.println(n);
System.out.println(x);
System.out.println(s);
inputStream.close();
}
}
上面的代码中,我们使用了DataOutputStream类将基本数据类型写入文件中,并使用DataInputStream类从文件中读取基本数据类型。
总结:
本文介绍了Java中常用的IO函数,包括了FileInputStream和FileOutputStream类,BufferedReader和BufferedWriter类,InputStreamReader和OutputStreamWriter类,DataInputStream和DataOutputStream类。这些类和方法可以帮助我们读写文件,并处理其他类型的输入输出任务。在实际开发中,选择适当的IO类和方法是非常重要的。
