提示信息

Java输入/输出流

烟灰 已关注

Java的输入/输出流(InputStream/OutputStream)是用于读取和写入数据的一组类和接口。输入流用于从外部源(如文件、网络连接、键盘等)读取数据,而输出流用于将数据写入到外部目标(如文件、网络连接、控制台等)。

主要的输入/输出流类和接口有:
- InputStream:抽象类,用于读取字节流
- OutputStream:抽象类,用于写入字节流
- FileInputStream:用于读取文件的输入流
- FileOutputStream:用于写入文件的输出流
- ByteArrayInputStream:用于将字节数组作为输入流
- ByteArrayOutputStream:用于将字节数组作为输出流
- InputStreamReader:用于将字节流转换为字符流
- OutputStreamWriter:用于将字符流转换为字节流
- BufferedReader:用于高效读取字符流
- BufferedWriter:用于高效写入字符流

使用输入流时,可以通过read()方法逐个读取字节,并将其转换为需要的数据类型,如字符、整数等。使用输出流时,可以通过write()方法将数据逐个写入到目标中。

下面是一个简单的示例,用于从文件读取数据并将数据写入到另一个文件中:

  1. import java.io.FileInputStream;
  2. import java.io.FileOutputStream;
  3. import java.io.IOException;
  4. public class FileCopyExample {
  5. public static void main(String[] args) {
  6. try (FileInputStream in = new FileInputStream("input.txt");
  7. FileOutputStream out = new FileOutputStream("output.txt")) {
  8. int byteRead;
  9. while ((byteRead = in.read()) != -1) { // 读取字节流
  10. out.write(byteRead); // 写入字节流
  11. }
  12. } catch (IOException e) {
  13. e.printStackTrace();
  14. }
  15. }
  16. }

上述示例打开一个FileInputStream用于从input.txt文件读取数据,并使用FileOutputStream将数据写入到output.txt文件中。通过循环读取和写入字节,直到读取完整个文件。

当使用完输入/输出流时,应调用close()方法来关闭流,以释放资源。在Java 7及以上版本中,可以使用try-with-resources语句来自动关闭流。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
烟灰 关注 已关注

最近一次登录:2023-11-11 09:35:49   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图