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(); }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
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 中 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中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中的 toString()方法实例代码
前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas 形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]] 要求转成为 "[1,2,3]#[2,3,5]"
-
Java String 和StringBuffer的详解及区别
Java String 和StringBuffer的详解及区别 Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含 多个字符的字符数据.String类表示内容不可改变的字符串.而StringBuffer类表示内 容可以被修改的字符串. 当你知道字符数据要改变的时候你就可以使用StringBuffer.典型地,你可以使用StringBuffers来动态构造 字符数据.另外,String实现了equals方法,new String("abc"
-
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 中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和
随机推荐
- jQuery中:radio选择器用法实例
- 12款经典的白富美型—jquery图片轮播插件—前端开发必备
- Centos搭建vsftp服务器的方法
- 图解SVN服务器搭建和使用(一)
- 局域网扫描可以telnet主机
- iOS中使用NSProgress类来创建UI进度条的方法详解
- jQuery将表单序列化成一个Object对象的实例
- Yii2.0多文件上传实例说明
- 脚本吧 - 幻宇工作室用到js,超强推荐expand.js
- python学习必备知识汇总
- 深入分析C++中类的大小
- 详解标准mysql(x64) Windows版安装过程
- JavaScript中清空数组的方法总结
- C#统计字符串中数字个数的方法
- 用批处理实现的篮球飞人火爆版
- 用Jquery重写windows.alert方法实现思路
- 详解javascript表单的Ajax提交插件的使用
- Zend Framework框架实现类似Google搜索分页效果
- ArrayList及HashMap的扩容规则讲解
- python用插值法绘制平滑曲线