import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamConvert {
private final static int BUFFER_SIZE = 4096;
/**
* 将InputStream转换成某种字符编码的String
*
* @param in
* @param encoding
* @return
* @throws Exception
*/
public static String inputStreamToString(InputStream in, String encoding) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1){
outStream.write(data, 0, count);
}
data = null;
return new String(outStream.toByteArray(), encoding);
}
/**
* 将String转换成InputStream
*
* @param in
* @param encoding
* @return
* @throws Exception
*/
public static InputStream stringToInputStream(String in, String encoding) throws Exception {
ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes(encoding));
return is;
}
/**
* 将InputStream转换成byte数组
*
* @param in InputStream
* @return byte[]
* @throws IOException
*/
public static byte[] inputStreamToByte(InputStream in) throws IOException {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[BUFFER_SIZE];
int count = -1;
while ((count = in.read(data, 0, BUFFER_SIZE)) != -1){
outStream.write(data, 0, count);
}
data = null;
return outStream.toByteArray();
}
/**
* 将byte数组转换成InputStream
*
* @param in
* @return
* @throws Exception
*/
public static InputStream byteToInputStream(byte[] in) throws Exception {
ByteArrayInputStream is = new ByteArrayInputStream(in);
return is;
}
/**
* 将byte数组转换成String
*
* @param in
* @return
* @throws Exception
*/
public static String byteToString(byte[] in) throws Exception {
InputStream is = byteToInputStream(in);
return inputStreamToString(is,"UTF-8");
}
}
分享到:
相关推荐
在Java编程中,String对象和Byte...总之,Java中的String与Byte类型的转换是编程中不可或缺的部分,尤其在网络编程中,理解这两种类型之间的转换方式及其在网络数据交换中的作用,对于编写高效、可靠的程序至关重要。
在Java编程语言中,`String`对象与`byte[]`数组之间的转换是常见的操作之一。理解这两者之间的关系对于处理文本数据、网络通信及文件读写等任务至关重要。 #### 一、String与byte[]的基本概念 - **String**: 在...
在Java编程中,InputStream、String和File是三个非常基础且重要的类,它们分别代表了数据流、文本字符串和文件对象。在实际开发中,我们经常需要在这三者之间进行转换,以便于处理不同类型的输入输出。以下是关于这...
以上介绍了byte与其他常见类型(如int、char、double、String)之间的转换方法。这些方法在实际开发中非常实用,尤其是在网络通信、文件读写等场景中。正确理解和掌握这些转换方法能够帮助开发者更加高效地进行数据...
总之,理解和掌握String与InputStream之间的转换技巧是Java开发人员必备的技能之一,能够帮助我们在处理各种数据输入输出问题时更加游刃有余。对于提供的文件"String与InputStream相互转换 - hanqunfeng的专栏 - ...
本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
在实际开发中,`PipedOutputStream`和`PipedInputStream`也可以用来实现输出流和输入流之间的连接,它们之间可以通过管道进行数据传输,但这种方式相对复杂,适用于更高级的同步和异步操作。 总结,将`OutputStream...
这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换方法。 首先,我们要理解这两种类型的基本概念。`String`是Java中的一个类,用于表示不可变的字符序列,通常用来存储文本...
本篇文章将深入探讨字节流工具的使用方法、InputStream与byte数组之间的转换以及如何将流另存为文件。 1. **字节流概述** - 字节流分为输入流和输出流,分别用于数据的读取和写入。Java中的InputStream和...
inputStream2String, string2InputStream : inputStream 与 string 按编码互转 outputStream2String, string2OutputStream: outputStream 与 string 按编码互转 bitmap2Bytes, bytes2Bitmap : bitmap 与 byteArr 互...
Java 实现 InputStream 流的复制代码实例 本文主要介绍了 Java 实现 InputStream 流的复制代码实例,通过示例代码详细地介绍了如何复制 InputStream 对象,并提供了实际的应用场景和解决方案。 InputStream 基础...
**JSoup库与Java爬虫基础** JSoup是一款强大的Java库,专为处理HTML文档而设计。它提供了方便的API,使得我们能够解析、提取和修改HTML内容,这对于网络爬虫开发尤其有用。在本教程中,我们将探讨如何利用JSoup结合...
在Java编程中,将图片与Base64编码进行互转是一种常见的操作,特别是在网页开发、数据传输和存储中。Base64编码是一种用于将二进制数据转化为ASCII字符串的编码方式,使得这些数据可以在文本格式的环境中(如电子...
### WebService接口接收XML与String代码解析 #### 一、概述 在现代软件开发中,WebService作为一种基于HTTP协议的应用程序接口(API),广泛应用于不同系统之间的数据交换与服务调用。本篇文章将根据提供的代码示例...
public static String loadAFileToStringDE1(File f) throws IOException { long beginTime = System.currentTimeMillis(); InputStream is = null; String ret = null; try { is = new BufferedInputStream( ...
Java InputStream 的多种使用详解 InputStream 是 Java 中用于读取数据流的抽象类,它是所有输入流的父类。InputStream 的子类有多种,如 FileInputStream、BufferedInputStream、ByteArrayInputStream 等,每种...
适合初学者的一些代码,public static void main(String[] args) { File file1 = new File("c:\\aaa.txt");// 定位文件 if (!file1.exists()) { System.out.println("文件不存在...."); } else { try { ...
本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...
public String(byte[] byt),通过当前参数中的字节数组来构造新的 String。 StringBuilder 类 StringBuilder 类用于字符串的修改和构建。StringBuilder 类的特点是可变的,意味着字符串的值可以被更改。...
String strSQL = ""; int k=0,n=0; Connection dbConn = null; PreparedStatement dbStat = null; //ResultSet dbRs = null; dbConn = JDBCUtil.getConnectionELIB(); //上传...