java 中InputStream,String,File之间的相互转化对比

InputStream,String,File相互转化

 1. String --> InputStream

InputStream String2InputStream(String str){
 ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes());
 return stream;
}

2. InputStream --> String

String inputStream2String(InputStream is){
 BufferedReader in = new BufferedReader(new InputStreamReader(is));
 StringBuffer buffer = new StringBuffer();
 String line = "";
 while ((line = in.readLine()) != null){
  buffer.append(line);
 }
 return buffer.toString();
}

今天从网上看到了另一种方法,特拿来分享

String all_content=null;
  try {
  all_content =new String();

   InputStream ins = 获取的输入流;

   ByteArrayOutputStream outputstream = new ByteArrayOutputStream();
  byte[] str_b = new byte[1024];
  int i = -1;
  while ((i=ins.read(str_b)) > 0) {
   outputstream.write(str_b,0,i);
  }
  all_content = outputstream.toString();
 } catch (Exception e) {

e.printStackTrace();
  }

此两种方法上面一种更快,但是比较耗内存,后者速度慢,耗资源少

3、File --> InputStream

InputStream in = new InputStream(new FileInputStream(File));

4、InputStream --> File

public void inputstreamtofile(InputStream ins,File file){
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • java中的 toString()方法实例代码

    前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]]  要求转成为 "[1,2,3]#[2,3,5]"

  • Java String对象使用方法详解

    Java String对象使用方法详解 先来看一个例子,代码如下: public class Test { public static void main(String[] args) { String str = "abc"; String str1 = "abc"; String str2 = new String("abc"); System.out.println(str == str1); System.out.println(str1

  • java 中 String format 和Math类实例详解

    java 中 String format 和Math类实例详解 java字符串格式化输出 @Test public void test() { // TODO Auto-generated method stub //可用printf(); System.out.println(String.format("I am %s", "jj")); //%s字符串 System.out.println(String.format("首字母是 %c",

  • Java String 和StringBuffer的详解及区别

    Java String 和StringBuffer的详解及区别 Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含 多个字符的字符数据.String类表示内容不可改变的字符串.而StringBuffer类表示内 容可以被修改的字符串. 当你知道字符数据要改变的时候你就可以使用StringBuffer.典型地,你可以使用StringBuffers来动态构造 字符数据.另外,String实现了equals方法,new String("abc"

  • Java中Object toString方法简介_动力节点Java学院整理

    一.Object类介绍  Object类在Java里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.所有的类,不管是谁,都是从它继承下来的. 二.toString方法介绍  一个字符串和另外一种类型连接

  • JAVA String转化成java.sql.date和java.sql.time方法示例

    前言 众所周知在Java中String 转 java.sql.date 是不可以直接实现的,需要先转成 java.util.date 然后再转成 java.sql.date.关于java.util.Date与java.sql.Date的区别可以点击这篇文章查看详情. 方法示例代码如下 String -> java.sql.date    输入 2016-11-11 /** * @param 返回java.sql.Date格式的 * */ public java.sql.Date strToDat

  • Java 中 String,StringBuffer 和 StringBuilder 的区别及用法

    1 简介 在 Java 语言中,共有 8 个基本的数据类型,分别为:byte.short.int.long.float.double.boolean 和 char,其中 char 类型用于表示单个字符,例如 a.b.c .A.B.C.& 这些大小写字母或者特殊字符等等.在实际的编程中,单个的字符并没有我们想象中用的那么频繁,反而是多个字符组成的"字符串"更为常见,但是在基本的数据类型中,并没有字符串这种数据类型.为了解决这个问题,Java 语言为我们提供了一个被 final 关

  • java 中InputStream,String,File之间的相互转化对比

    InputStream,String,File相互转化  1. String --> InputStream InputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream; } 2. InputStream --> String String inputStream2String(InputStre

  • Java中两个大数之间的相关运算及BigInteger代码示例

    Java中两个大数之间的相关运算及BigInteger两段实例代码,具体如下. 大数相减 import java.util.Scanner; /* 进行大数相减,只能对两个正数进行相减 */ public class BigNumber { public static void main(String[] args) { Scanner scan=new Scanner(System.in); String a,b; while (scan.hasNext()) { BigNumber big=

  • Java中父类和子类之间的转换操作示例

    本文实例讲述了Java中父类和子类之间的转换操作.分享给大家供大家参考,具体如下: 一.父类引用强转成为子类引用 package learn20180720; public class People { private String name; private Integer age; private Double height; public People(){ this.name = ""; this.age = 0 ; this.height = 0.0; } public Pe

  • 浅谈Java中Map和Set之间的关系(及Map.Entry)

    1.通过查找API文档: 2.Map.Entry是一个接口,所以不能直接实例化. 3.Map.entrySet( )返回的是一个collection集合,并且,这个collection中的元素是Map.Entry类型,如下图所示: 4. Map是Java中的接口,Map.Entry是Map的一个内部接口.java.util.Map.Entry接口主要就是在遍历map的时候用到. Map提供了一些常用方法,如keySet().entrySet()等方法,keySet()方法返回值是Map中key值

  • Java中关于String StringBuffer StringBuilder特性深度解析

    1.String String类:字符串是常量,使用一对""引起来表示.他们的值在创建之后不能修改. 1.String声明为final的,不可被继承 2.String实现了Serializable接口,表示字符串时支持序列化的. 实现了Comparable接口:表示String可以比较大小 3.String内部定义了final char[] value用于存储字符串数据 4.String:代表不可变的字符序列.简称:不可变性 体现: 1.当对字符串重新赋值时,需要重写指定内存区域赋值,

  • java中VO和DTO之间的转换实现

    目录 一.背景 二.详细讲解 注意 三.实体对象间的转换 四.第一种方法的具体代码例子 五.第二种方法的具体代码例子(使用dozer) 六.结束 一.背景 1.领域模型中的实体类分为四种类型:VO.DTO.DO.PO 二.详细讲解 1.VO(View Object),视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来. 2.DTO(Data Transfer Object),数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据

  • Java 中的 String对象为什么是不可变的

    什么是不可变对象? String对象是不可变的,但这仅意味着你无法通过调用它的公有方法来改变它的值. 众所周知, 在Java中, String类是不可变的.那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的.不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变. 区分对象和对象的引用 对于Java初学者, 对于String是不可变对

  • Java 中 Date 与 Calendar 之间的编辑与转换实例详解

    Java语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分.日期是商业逻辑计算一个关键的部分.所有的开发者都应该能够计算未来的日期,定制日期的显示格式,并将文本数据解析成日期对象. 下面通过代码给大家介绍Java 中 Date 与 Calendar 之间的编辑与转换. 具体代码如下所述: /** * 移除 Data 中的时间部分 */ public static Date removeTime(Date date)

  • Java中关于String的全面解析

    前言 基于字符串String在java中的地位,关于String的常识性知识就不多做介绍了,我们先来看一段代码 public class Test { public static void main(String[] args) { String a = "abc"; String b = "abc"; String c = new String("abc"); System.out.println(a==b); System.out.print

  • 深入了解java中的string对象

    这里来对Java中的String对象做一个稍微深入的了解. Java对象实现的演进 String对象是Java中使用最频繁的对象之一,所以Java开发者们也在不断地对String对象的实现进行优化,以便提升String对象的性能. Java6以及之前版本中String对象的属性 在Java6以及之前版本中,String对象是对char数组进行了封装实现的对象,其主要有4个成员成员变量,分别是char数组.偏移量offset.字符数量count和哈希值hash.String对象是通过offset和

随机推荐