开发者博客:http://www.developsearch.com
/**
* 流操作
*
* @author chenxin
* @version [版本号, 2012-5-21]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class StreamUtil {
// 从文件读取数据
public static byte[] getContentFromFile(String filePath) throws IOException
{
FileInputStream fin = new FileInputStream(filePath);
ByteArrayOutputStream os = new ByteArrayOutputStream();
int n = -1;
byte[] buf = new byte[1024];
while ((n = fin.read(buf)) != -1)
{
os.write(buf, 0, n);
}
fin.close();
return os.toByteArray();
}
// 写数据到文件
public static void writeContentToFile(String filePath, byte[] content) throws IOException
{
FileOutputStream fout = new FileOutputStream(filePath, false);
fout.write(content);
fout.close();
}
// 从输入流读取数据
public static byte[] getContentFromInputStream(InputStream in) throws IOException
{
return getContentFromInputStream(in, Integer.MAX_VALUE);
}
// 从输入流读取数据
public static byte[] getContentFromInputStream(InputStream in, int length) throws IOException
{
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
while (os.size() < length)
{
int n = in.read(buf);
if (n > 0)
{
os.write(buf, 0, n);
}
else if (n < 0)
{
break;
}
}
in.close();
return os.toByteArray();
}
// 从输入流读取数据
public static String getContentStrFromInputStream(InputStream in) throws IOException
{
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int iCnt = 0;
while ((iCnt = in.read(buf)) > 0)
{
os.write(buf, 0, iCnt);
}
in.close();
return os.toString("UTF-8");
}
public static void main(String[] args)
{
}
/**
* 将输入流的内容全部输出到输出流
*
* @param is 输入流
* @param os 输出流
* @throws IOException
*/
public static void copy(InputStream is, OutputStream os) throws IOException
{
synchronized (is)
{
synchronized (os)
{
byte[] buffer = new byte[256];
while (true)
{
int bytesRead = is.read(buffer);
if (bytesRead == -1)
{
break;
}
os.write(buffer, 0, bytesRead);
}
}
}
}
}
分享到:
相关推荐
本篇文章将深入探讨`StreamUtil`这个特定的工具类,它是Java 8引入的流(Stream)操作的一个扩展,帮助开发者更好地处理数据流。 Java 8中的Stream API提供了一种新的数据处理方式,它支持函数式编程风格,可以对...
jodd java工具类库,包括数据库mvc依赖注入等等
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架。简单,却很强大!...获取函数参数名jodd-dboom 数据库访问的轻量级封装,可看作一个简单的ORMjodd-json JSON解析、序列化jodd-vtor 一个基于注解的...
**JODD工具包**,全称为Java Open Development Drawer,是一个全面且强大的Java开发工具集。这个工具包提供了多种功能,旨在简化开发人员的工作流程,提高效率。在JODD中,你将找到一系列模块,如`jodd-joy`、`jodd-...
读取sd卡图片并且显示到出来 ... ... byte[] imagebytes = StreamUtil.getBytes(fis); Bitmap bitmap = BitmapFactory.decodeByteArray(imagebytes, 0, imagebytes.length); return bitmap; } }
6. StreamUtil:优化了IO流操作,提供文件读写、网络流处理的便捷接口。 7. ThreadUtil:线程管理工具,包括线程的启动、暂停、恢复、结束,以及线程池的创建和管理。 8. ConvertUtil:对象转换工具,可以将基本类型...
通常,响应内容可能是一个InputStream,需要通过工具类如`StreamUtil`将其转换为字节数组或字符串。例如: ```java InputStream in = httpResponse.getEntity().getContent(); byte[] buffer = StreamUtil....
1. **StreamUtil.java**:这个类可能包含了对输入/输出流的操作,例如读取或写入文件、网络流等。在处理JSON时,可能有将JSON数据写入文件或者从网络响应中读取JSON的函数。对于AJAX请求,如果涉及到文件上传或下载...
- 使用`StreamUtil.readBytes()`方法将请求体中的数据读入一个`byte[]`数组。 - 创建一个新的`ByteArrayInputStream`实例并将其包装为`ServletInputStream`。 - 在`getInputStream()`方法中返回该`Servlet...
流处理是Java中重要的部分,Hutool的StreamUtil提供了丰富的流操作,包括转换、过滤、合并等。例如,可以方便地将集合转换为流: ```java List<String> list = ListUtil.list("a", "b", "c"); Stream<String> ...
8. **IO流工具类**:如`StreamUtil`,提供对输入/输出流的操作,如复制、关闭、缓冲等。 9. **数学计算工具类**:如`MathUtil`,提供一些数学运算,如最大值、最小值、随机数生成等。 10. **线程和并发工具类**:如`...
webpieces.zip,datawrapper使得不复制buffer就可以很容易地将它们链接在一起,这样它们看起来就像一个实体,避免不断地复制包含所有web片段(带有api)的dataa项目来创建web服务器(和实际的web服务器)。
为了基于特定字段去重,我们可以创建一个辅助工具类`StreamUtil`,提供一个`distinctByKey`方法,该方法返回一个谓词(Predicate),用于检查元素的特定字段是否已经出现过: ```java public class StreamUtil { ...
对于I/O流,StreamUtil提供了诸如合并流、复制流等实用方法,使得处理流变得更加简单。在字符串处理方面,StrUtil提供了丰富的静态方法,如格式化字符串、检查空值、替换等,这些都能极大地提高开发效率。 其次,...
- `StreamUtil`工具类对Java的流API进行了封装,支持对输入流、输出流的操作,包括合并流、关闭流、读写数据等,简化了流的管理。 3. **加密与解密**: - `CryptoUtil`工具类提供了多种加密算法,如MD5、SHA、AES...
String xml = StreamUtil.inputStream2String(is, "UTF-8"); // 将xml转换为Map并进行逻辑处理 } ``` 3. **XML数据转换** XML数据需要转换为可操作的对象,例如Map。在示例代码中,使用了`inputStream2String`...
StreamUtil StringUtil ToastMaster ViewUtil 要求 API 级别 9 (GingerBread) 及以上。 设置 该库作为 AAR 推送到 Maven Central,因此您只需将以下内容添加到build.gradle文件中: dependencies { compile ' ...