浅谈JAVA中输入输出流实例详解
Java中的输入输出流(IO流)是指用于处理与设备或文件之间的输入输出的一组类和接口。Java中的IO流分为输入流和输出流,输入流主要是将数据从文件或其他设备读入到内存中,输出流主要是将数据从内存中写入到文件或其他设备中。
Java中的输入输出流分类
Java中的输入输出流可以分为四类:
-
字节流:以字节为单位进行数据传输。字节流可以读写所有类型的数据,包括文本、数字、音频、视频等。字节流主要有InputStream和OutputStream两个抽象类。
-
字符流:以字符为单位进行数据传递。字符流主要用于读写文本数据,不适合读写二进制数据。字符流主要有Reader和Writer两个抽象类。
-
字节缓冲流:在字节流和字符流的基础上增加了缓冲功能,能够提高输入输出的效率。字节缓冲流包括BufferedInputStream和BufferedOutputStream两个类,字符缓冲流包括BufferedReader和BufferedWriter两个类。
-
对象流:用于读写Java中的对象。对象流包括ObjectInputStream和ObjectOutputStream两个类。
两个Java中的输入输出示例
示例1:使用字节流进行文件输入输出
下面的示例演示了如何使用字节流进行文件的读取和写入:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
// 读入文件
FileInputStream fis = new FileInputStream("input.txt");
// 写出文件
FileOutputStream fos = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上面的示例将文件input.txt的内容读入到缓冲区中,然后写入到文件output.txt中。
示例2:使用字符流进行文件读写
下面的示例演示了如何使用字符流读取和写入文本文件:
import java.io.*;
public class Test {
public static void main(String[] args) {
try {
// 读入文件
FileReader fr = new FileReader("input.txt");
BufferedReader br = new BufferedReader(fr);
// 写出文件
FileWriter fw = new FileWriter("output.txt");
BufferedWriter bw = new BufferedWriter(fw);
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
}
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
上面的示例将文件input.txt的内容读入到缓冲区中,遇到换行符号就写入到文件output.txt中。在写入到输出文件的时候,还需要使用BufferedWriter的newLine()方法写入换行符。
结语
Java中的输入输出流是十分强大和灵活的,能够满足不同类型数据的读取和写入需求。在实际开发中,我们需要根据数据类型和读写需求选择不同类型的输入输出流,并注意对输入输出流的关闭操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈JAVA中输入输出流实例详解 - Python技术站