public String ioToBase64() throws IOException {
String fileName = "d:/gril.gif"; //源文件
String strBase64 = null;
try {
InputStream in = new FileInputStream(fileName);
// in.available()返回文件的字节长度
byte[] bytes = new byte[in.available()];
// 将文件中的内容读入到数组中
in.read(bytes);
strBase64 = new BASE64Encoder().encode(bytes); //将字节流数组转换为字符串
in.close();
} catch (FileNotFoundException fe) {
fe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return strBase64;
}
public void base64ToIo(String strBase64) throws IOException {
String string = strBase64;
String fileName = "d:/gril2.gif"; //生成的新文件
try {
// 解码,然后将字节转换为文件
byte[] bytes = new BASE64Decoder().decodeBuffer(string); //将字符串转换为byte数组
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
byte[] buffer = new byte[1024];
FileOutputStream out = new FileOutputStream(fileName);
int bytesum = 0;
int byteread = 0;
while ((byteread = in.read(buffer)) != -1) {
bytesum += byteread;
out.write(buffer, 0, byteread); //文件写操作
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
分享到:
相关推荐
Java IO系统分为两大类:字节流和字符流。字节流主要用于处理任何类型的原始数据,如图片、音频文件或者二进制文件,而字符流则专注于处理基于文本的数据。本文将深入探讨这两类流的原理、用途以及它们之间的关联。 ...
在Java中,IO流分为两大类:字节流和字符流,每种流又有输入流和输出流之分,分别用于数据的读取和写入。 1. **字节流**: - 字节流处理的是8位的字节数据,是最基本的流类型。Java中的`InputStream`和`...
转换流如InputStreamReader和OutputStreamWriter,它们起到了字节流和字符流之间的桥梁作用,可以根据指定的字符编码将字节流转换为字符流,反之亦然。 此外,Java的IO流还提供了一些高级特性,比如**过滤流**。...
在Java IO流中,转换流是指将字节流转换为字符流或将字符流转换为字节流的过程。转换流可以解决字符集编码问题。 a) 输入流:InputStreamReader---->解码 InputStreamReader是将字节流转换为字符流的输入流,负责...
IO流原理是基于字节流和字符流的概念。字节流(InputStream和OutputStream)用于处理二进制数据,字符流(Reader和Writer)则用于处理字符数据。Java的IO操作,无论是读取文件、网络通信还是序列化对象,都是通过流...
- **OutputStreamWriter**:将字符流转换为字节流。 这两种转换流通常与编码解码操作相结合,确保正确地处理各种字符集。 #### 二、Stream添加属性 在实际开发过程中,经常需要对基础的流进行扩展,为其添加额外...
Java IO流分为字符流和字节流,适用于不同类型的文件和数据源。本文将深入探讨如何使用IO流来读取文件,并通过实例代码详细解释每一个步骤。 首先,要读取一个文件,我们需要获取文件的路径。在给定的示例中,路径...
在Java编程中,字节流(Byte Stream)是处理数据的基本方式,特别是在处理二进制数据,如图片、音频或视频文件时。本教程将详细讲解如何使用Java实现字节流与图片之间的转换,这对于在网络上传输或者存储图片等二...
Java的IO流是按照数据的流向分为输入流和输出流,按照数据类型分为字节流和字符流。字节流处理的是二进制数据,适用于任何类型的文件,包括文本文件和非文本文件(如图片、音频、视频等)。字符流则用于处理字符数据...
字节流的所有读操作都继承自一个公共超类 java.io.InputStream 类。所有的写操作都继承自一个公共超类 java.io.OutputStream 类。InputStream 和 OutputStream 都是抽象类。InputStream 有 6 个低级输入流: 1. ...
- `InputStreamReader`和`OutputStreamWriter`是字节流到字符流的桥梁,可以将字节流转换为字符流,反之亦然。这样可以在处理二进制数据的字节流和处理文本的字符流之间进行转换。 4. **对象流**: - Java的序列...
- InputStreamReader和OutputStreamWriter是字节流与字符流之间的桥梁,它们可以将字节流转换为字符流,反之亦然。 - 比如,我们可以通过InputStreamReader(FileInputStream)和PrintWriter(OutputStreamWriter)...
本文件包“io流详解,字符流和字节流代码”显然是针对Java IO流的深入学习资源,包含了代码示例和可能的可视化解释。 IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理的是8位的数据...
在Java编程中,字节流(Byte Stream)是处理数据的一种基本方式,它适用于任何类型的数据,包括文本、图片、音频等。字节流主要分为输入流和输出流,其中InputStream类是所有字节输入流的基类,而OutputStream类则是...
- **OutputStreamWriter**:将字符流转换为字节流。 #### 二、Stream的属性扩展 ##### 2.1 扩展流的功能 通过继承自`FilterInputStream`和`FilterOutputStream`的类,可以为流增加额外的功能。 例如,如果想要...
另外,通过`InputStreamReader`和`OutputStreamWriter`,可以将字节流转换为字符流,方便处理不同编码的文本。 6. **NIO(New IO)** 自Java 1.4引入NIO(New IO)库,提供了更高效、非阻塞的I/O操作。`java.nio`...
- `OutputStreamWriter`:将字符流转换为字节流,通常用于将`Writer`转换为`OutputStream`。 ### 实例分析 下面通过几个简单的示例来进一步理解IO流的使用: 1. **文件复制**:利用`FileInputStream`和`...
- OutputStreamWriter:将字符流转换为字节流,同样可指定编码。 2. 流的过滤和包装 Java IO提供了过滤流(Filter Stream),可以对已有流进行包装,添加额外的功能或修改其行为,例如: - FilterInputStream 和...
字节流是Java IO系统中最基本的流类型之一,它主要用于处理二进制数据。字节流分为输入流和输出流两大类: - **输入流**:从源端读取字节数据。主要类包括: - `ByteArrayInputStream`:从内存数组读取数据。 - `...
对于字符流,Reader是所有输入字符流的抽象基类,Writer是所有输出字符流的抽象基类,它们分别有对应的字节流转换类InputStreamReader和OutputStreamWriter,用于在字节流和字符流之间进行转换。 在字节流与字符流...