Java中IOUtils

public class IOUtils
{
 public static byte[] getByte(InputStream is) throws Exception
 {
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  byte[] buffer = new byte[1024];
  int len = 0;
  while ((len = is.read(buffer)) != -1)
  {
   bos.write(buffer);
  }
  return bos.toByteArray();
 }

 public static String getString(InputStream is) throws Exception
 {
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  byte[] buffer = new byte[1024];
  int len = 0;
  while ((len = is.read(buffer)) != -1)
  {
   bos.write(buffer);
  }
  return bos.toString().trim();
 }

 public static String read(String filename) throws Exception
 {
  FileInputStream fis = new FileInputStream(filename);
  ByteArrayOutputStream outStream = new ByteArrayOutputStream();
  byte[] buffer = new byte[1024];
  int len = 0;
  // 将内容读到buffer中,读到末尾为-1
  while ((len = fis.read(buffer)) != -1)
  {
   // 将每次读到字节数组(buffer变量)内容写到内存缓冲区中,起到保存每次内容的作用
   outStream.write(buffer, 0, len);
  }
  byte[] data = outStream.toByteArray(); // 取内存中保存的数据
  fis.close();
  String result = new String(data, "UTF-8");
  return result;
 }
}

时间: 2024-11-10 07:59:37

Java中IOUtils的相关文章

在java中如何将输入流转换成数组

问题描述 在java中如何将输入流转换成数组 客户端发送数组,服务器端接受并排序.如何将接受的输入流转换成数组 解决方案 http://outofmemory.cn/code-snippet/11389/java-convert-inputstream-to-byte-array 解决方案二: 如何将伪数组转换成数组 解决方案三: apache comments io包中的IOUtils中有现成的方法 解决方案四: 字符串转化成整形数组?字节数组取出来的值就是0-127的数.

Java中的代理原理及代理使用示例_java

今天再测试Socket编程时,无法连接外网.公司用的是Http的代理.上网搜索也没看太懂,所以花了大量时间来学习.看了HTTP和TCP协议的关系好,才有所明白.现在能通过Socket使用HTTP代理了,结果很简单,过程却好难. 1. 先简要说说HTTP和TCP(具体内容自行Google,资料很多很全),这里就讲讲要点: HTTP:是应用层协议,是基于传输层协议的. TCP: 是传输层协议,是基于网络层协议的. IP: 是网络层协议. 一个TCP的连接要进行三次握手(就像转户口一样,不详说),HT

详解Java中对象序列化与反序列化_java

        序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等.在网络传输过程中,可以是字节或是XML等格式.而字节的或XML编码格式可以还原完全相等的对象.这个相反的过程又称为反序列化.Java对象的序列化与反序列化 在Java中,我们可以通过多种方式来创建对象,并且只要对象没有被回收我们都可以复用该对象.但是,我们创建出来的这些Java对象都是存在于JVM的堆内存中的.只有JVM处于运行状态

java中为什么有的变量声明而不赋值?

问题描述 java中为什么有的变量声明而不赋值? java中为什么有的变量声明而不赋值?而有的就值,那什么情况下要赋值,什么情况下不赋值 解决方案 比如对象变量,而调用这个变量的构造函数非常耗费时间,所以我们等用到的时候再创建,如果程序运行完都不访问它,就根本不创建,这样可以提高效率. 对于简单变量,比如int float一类的,建议随手给一个初始值. 解决方案二: 你这个问题给你举个例子,你应该就能理解了 例如: int a; 这是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向

Java中透明和不规则Swing窗口

支持透明和不规则窗口已经成为 AWT 和 Swing 团队长久以来梦寐以求的功能.尽管本机应用程序在主要操作系统上使用这项功能已经为时 已久,但在核心 Java 中还不能使用它.即将发布的 "Consumer JRE"正在进行修改,也就是对 Java SE 6 进行重大更新.Java SE 6 将为 创建不规则.全透明和每个像素透明的顶级窗口提供 API. 历史 本机应用程序的开发人员通常在开发 UI 应用程序中享受了更高级的灵活性.但是为此而付出的代价是将应用程序限制在某一特定平台上

求大神解答一下-java中对象流objectstream问题

问题描述 java中对象流objectstream问题 输出的为什么不是cyh男20 ym女20求大神解答!!!!!!!!!! 解决方案 你的代码和我这个一样吗?麻烦把你的代码粘全了,我看看 解决方案二: 这个是照片......... 解决方案三: 我和你写的差不多,不知道你为啥会这样,我给你粘出我的代码package lianxi; import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOE

java中如何让setText方法读取指定标签数据的时候特意空出一点点空间

问题描述 java中如何让setText方法读取指定标签数据的时候特意空出一点点空间 如何让setText方法读取指定标签数据的时候特意空出一点点空间java当中 解决方案 http://zhidao.baidu.com/link?url=znfx-j9HEz7fJS4EcXcc-gX096uqEKQMTQo4vBNrc9bhRAlFHGGxkAP8cPTOkATWxy3DqxQwhBwFAscWkNPxe_,用空字符串占位置看看可不可以也就是字符串前面有空格,后面有空格. 解决方案二: 使用全

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http:

java循环集合-java中死循环是什么意思

问题描述 java中死循环是什么意思 java中死循环是什么意思 循环一次不再循环是死循环还是不断循环才是死循环能否简单的举个死循环单身例子 解决方案 死循环就是循环语句的条件是永远为真,那么循环体将一直执行,一楼说的并不对,循环不一定会导致内存溢出的,只是Java程序一直运行.简单的死循环实例while(true){某个操作,但是没有break语句}循环体中也没有终止循环的break,就是死循环了. 解决方案二: 不断循环直到你內存溢出 解决方案三: while(true){System.ou