Java字节流-InputStream与OutputStream
Java的InputStream和OutputStream是处理字节流的基本类。InputStream是所有字节输入流的超类,而OutputStream是所有字节输出流的超类。
以下是InputStream和OutputStream的基本使用方法:
- 使用InputStream.read()方法读取字节:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("input.txt");
int content;
while ((content = inputStream.read()) != -1) {
System.out.print((char) content);
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- 使用OutputStream.write()方法写入字节:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
try {
OutputStream outputStream = new FileOutputStream("output.txt");
String content = "Hello, World!";
for (int i = 0; i < content.length(); i++) {
outputStream.write(content.charAt(i));
}
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- 使用InputStream和OutputStream.read()、OutputStream.write()方法读写字节数组:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("input.txt");
OutputStream outputStream = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上代码展示了如何使用InputStream和OutputStream进行基本的文件读写操作。需要注意的是,在进行文件操作时,应当捕获并处理可能发生的IOException,并在操作完成后关闭流以释放系统资源。
评论已关闭