21xrx.com
2024-12-22 23:40:13 Sunday
登录
文章检索 我的文章 写文章
Java中的流:探究输入、输出和数据流转
2023-06-15 10:43:40 深夜i     --     --
Java流 数据读写 输入流 输出流 数据流

在Java中,流是一种重要的概念。流是一种数据传输方式,用于对数据进行读或写的操作。在Java中,流有输入流和输出流两种类型,它们是用于在程序中读取和写入数据的工具。同时,Java中也提供了数据流来处理基于数据的输入和输出。

输入流是用于从文件或其他数据源读取数据的流。它的工作方式是将数据从源中读取,并将其存储在内存中,然后程序可以对其进行操作或输出。以下是一个读取文件内容并打印输出的代码例子:


import java.io.*;

public class InputStreamExample {

  public static void main(String args[])throws IOException {

   // 创建一个输入流对象

   InputStream input = new FileInputStream("file.txt");

   // 读取文件内容

   byte[] data = new byte[1024];

   input.read(data);

   // 将文件内容输出到控制台

   String result = new String(data, "UTF-8");

   System.out.println(result);

   

   // 关闭输入流

   input.close();

  }

}

输出流是用于将数据写入文件或其他数据源的流。与输入流类似,其工作方式是将数据写入内存,然后将其传输到目标源中。以下是一个将字符串写入文件的代码例子:


import java.io.*;

public class OutputStreamExample {

  public static void main(String args[])throws IOException {

   // 创建一个输出流对象

   OutputStream output = new FileOutputStream("file.txt");

   // 定义一个字符串

   String data = "这是要写入文件的数据";

   // 将字符串转换为字节数组

   byte[] byteData = data.getBytes();

   // 将字节数组写入文件

   output.write(byteData);

   // 关闭输出流

   output.close();

  }

}

数据流是Java提供的一种读写Java对象的方式。数据流包含输入数据流和输出数据流。以下是一个简单的数据流示例:


import java.io.*;

public class DataStreamExample {

  public static void main(String args[])throws IOException {

   // 创建一个输出数据流对象

   DataOutputStream output = new DataOutputStream(new FileOutputStream("file.txt"));

   // 写入数据到文件中

   output.writeInt(1);

   output.writeDouble(2.1);

   output.writeUTF("这是一个测试");

   // 关闭输出数据流

   output.close();

   // 创建一个输入数据流对象

   DataInputStream input = new DataInputStream(new FileInputStream("file.txt"));

   // 从文件中读取数据

   int intValue = input.readInt();

   double doubleValue = input.readDouble();

   String stringValue = input.readUTF();

   // 输出读取到的数据

   System.out.println(intValue);

   System.out.println(doubleValue);

   System.out.println(stringValue);

   // 关闭输入数据流

   input.close();

  }

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复