在Java中,InputStream和OutputStream是Java IO中的字节流输入输出操作类,用于处理字节数据
的读取和写入,下面汇总一下它们各自的实现类以及用法。
一、InputStream
InputStream常见实现类:
- FileInputStream:从文件中读取字节数据。
import java.io.FileInputStream;
import java.io.IOException;
public class InputStreamExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("demo.txt")) {
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
- BufferedInputStream:带有缓冲区的输入流,提高读取效率。
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class BufferedInputStreamExample {
public static void main(String[] args) {
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("demo.txt"))) {
int data;
while ((data = bis.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
- ObjectInputStream:用于读取Java对象的输入流。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class ObjectInputStreamExample {
public static void main(String[] args) {
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("demo.txt"))) {
Object obj = ois.readObject();
System.out.println("Object read: " + obj);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
OutputStream
常见实现类:
- FileOutputStream:向文件中写入字节数据。
import java.io.FileOutputStream;
import java.io.IOException;
public class OutputStreamExample {
public static void main(String[] args) {
try (FileOutputStream fos = new FileOutputStream("output.txt")) {
String data = "Hello, World!";
fos.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
- BufferedOutputStream:带有缓冲区的输出流,提高写入效率。
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedOutputStreamExample {
public static void main(String[] args) {
try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("output.txt"))) {
String data = "Hello, World!";
bos.write(data.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
}
}
- ObjectOutputStream:用于将Java对象写入输出流。
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class ObjectOutputStreamExample {
public static void main(String[] args) {
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("demo.txt"))) {
Object obj = "Hello, Object!";
oos.writeObject(obj);
System.out.println("Object written successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}