字节数组流:
ByteArrayOutputStream: 可以捕获内存缓冲区的数据,转换成字节数组。
ByteArrayoutputStream bout=new ByteArrayOutputStream();
bout.write(int a); bout.write(int b); bout.write(int c);
byte[] buf=bout.toByteArray();//获取内存缓冲中的数据
for(int i=0;i<=buf.length;i++)
{
System.out.println(buf[i]);
}
bout.close();
注:通过调用reset()方法可以重新定位。
ByteArrayInputStream: 可以将字节数组转化为输入流
ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
int data=0;
while( (b=bin.read())!=-1)
{
System.out.println(b);
}
bin.close();
与DataOutputStream&DataInputStream联合使用:
ByteArrayOutputStream bout=new ByteArrayOutputStream();
DataOutputStream dos=new DataOutputStream(bout);
String name="suntao";
int age=19;
dos.writeUTF(name);
dos.writeInt(age);
byte[] buf=bout.toByteArray();//获取内存缓冲区中的数据
dos.close();
bout.close();
ByteArrayInputStream bin=new ByteArrayInputStream(byte[] buf);
DataInputStream dis=new DataInputStream(bin);
String name=dis.readUTF();//从字节数组中读取
int age=dis.readInt();
dis.close();
bin.close();
注: DataInputStream&DataOutputStream还可以与FileInputStream&FileOutputStream
联合使用。
其中:
DataInputStream&DataOutputStream关心如何将数据从高层次的形式转化成低层次的形式.
FileInputStream&FileOutputStream关心如何操作存储单元以接受和产生数据。
分享到:
相关推荐
- `ByteArrayInputStream`和`ByteArrayOutputStream`可以在内存中创建一个字节数组流,用于临时存储数据。 8. **异常处理**: - 在进行IO操作时,必须妥善处理`IOException`。通常,我们使用try-catch块来捕获并...
3. ByteArrayOutputStream和ByteArrayInputStream:内存中的字节流,常用于临时存储数据。 4. PipedInputStream和PipedOutputStream:用于线程间的数据传递。 五、IO流的关闭 在完成IO操作后,一定要记得关闭流,...
具体的数据源类如`FileInputStream`、`FileOutputStream`、`ByteArrayInputStream`、`ByteArrayOutputStream`等,以及提供装饰功能的类如`BufferedInputStream`、`BufferedOutputStream`、`DataInputStream`、`...
- 输入流:ByteArrayInputStream、StringBufferInputStream、FileInputStream、PipedInputStream和SequenceInputStream。 - 输出流:ByteArrayOutputStream、FileOutputStream、PipedOutputStream和...
### JAVA IO流详解 在Java编程中,IO流(Input/Output Stream)是处理输入输出操作的核心机制。本文将深入探讨Java IO流的基本概念、分类以及常见流的使用方法,帮助初学者理解并掌握这一重要知识点。 #### 一、...
- **ByteArrayInputStream和ByteArrayOutputStream**:在内存中读写字节流。 - **CharArrayReader和CharArrayWriter**:处理字符数组的读写。 8. **管道流(Pipe Stream)** - **PipedReader和PipedWriter**:线程...
它们各自都有多个子类,如`FileInputStream`、`FileOutputStream`、`ByteArrayInputStream`、`ByteArrayOutputStream`等,以满足不同的数据处理需求。 - **Reader和Writer**:这些是字符流的基础,主要用于处理字符...
`OutputStream` 是所有字节输出流的父类,其子类包括 `FileOutputStream`(用于写入文件)和 `ByteArrayOutputStream`(用于写入字节数组)等。在 Java 1.1 版本后,引入了 `Reader` 和 `Writer` 类,用于处理字符流...
在 Java 中,字节流和字符流都有着各自的类和方法,如 ByteArrayInputStream、ByteArrayOutputStream、BufferedReader、BufferedWriter 等。这些类和方法可以帮助开发者更方便地进行 IO 操作。 在实际开发中,需要...
- **内存流**:如ByteArrayInputStream和ByteArrayOutputStream用于在内存中处理数据。 - **字符串流**:StringReader和StringWriter用于字符串的读写。 - **管道流**:PipedInputStream和PipedOutputStream用于...
### JAVA-IO详解 #### 一、概述与基础概念 在Java编程语言中,输入输出(简称IO)处理是程序开发中的一个基本且重要的部分。Java IO系统主要由两大类构成:字节流(Byte Stream)和字符流(Character Stream)。这...
ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos); int options = 100; while (baos.toByteArray().length / 1024 > 100) { baos.reset(); ...
- **`ByteArrayInputStream`** 和 **`ByteArrayOutputStream`**: 在内存中创建字节流。 - **`CharArrayReader`** 和 **`CharArrayWriter`**: 在内存中创建字符流。 #### 七、示例代码解析 在部分给定内容中,有一...
ByteArrayInputStream和ByteArrayOutputStream是Java IO体系中两个非常实用的类,它们分别用于处理字节数组的输入和输出。 **ByteArrayInputStream介绍** ByteArrayInputStream是InputStream的子类,它允许我们将...
### IO流详解学习 #### 一、概述 IO流(Input/Output Stream)是Java编程语言中用于处理数据输入和输出的重要技术之一。通过IO流,开发者能够与外部世界进行数据交互,包括从文件系统、网络等处读取数据或将数据...
ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream.toByteArray()); ObjectInputStream in = new ObjectInputStream(inStream); MyClass cloned = (MyClass) in.readObject(); return ...
InputStreamEntity inputStreamEntity = new InputStreamEntity(new ByteArrayInputStream(out.toByteArray())); ``` 最后,我们需要使用HttpClient发送POST请求。首先,创建一个`CloseableHttpClient`实例,然后...
例如,`FileInputStream`和`FileOutputStream`用于文件的读写,`ByteArrayInputStream`和`ByteArrayOutputStream`则允许在内存中操作字节流。字节流适用于处理任何类型的二进制数据,如图片、音频文件等。 字符流...
在Android开发中,图片压缩是一项重要的技术,尤其在处理大图片和多图片场景时,能够有效地防止因内存消耗过大导致的Out Of Memory (OOM)异常。本文将详细讲解两种常用的Android图片压缩方法,并提供源码供参考。 1...