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();
}

时间: 2024-10-13 19:35:30

InputStream,String,File相互转化的相关文章

Java InputStream、String、File相互转化 --- good

String --> InputStreamByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); InputStream --> StringString inputStream2String(InputStream is){   BufferedReader in = new BufferedReader(new InputStreamReader(is));   StringBuffer buffer

3、关于String,File,InputStream之间的相互转换

1.介绍了关于String,File,InputStream之间的相互转换 1.1  String2InputStream /** * String2InputStream(String str)的工具方法 * * @param str * 需要转换的字符串str * @return 返回的是字符串str转换为inputstream的结果 */ public static InputStream String2InputStream(String str) { ByteArrayInputStr

InputStream,String相互转化

String --> InputStream InputStream String2InputStream(String str){ ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes()); return stream; } InputStream --> String String inputStream2String(InputStream is){ BufferedReader in = new Buf

托管c++ (CLI) String^ 到 std::string 的相互转化

#include "stdafx.h" #include <string> #include <msclr\marshal_cppstd.h> #include <iostream> using namespace msclr::interop; using namespace System; int main(array<System::String ^> ^args) { // 为了可以打印wstring到控制台 std::wcout

java中InputStream String

Java 中获取输入流时,有时候须要将输入流转成String,以便获取当中的内容 ,以下总结一下 InputStream 转成String 的方式  方法1: public String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); Strin

InputStream,String和Reader之间的转换

1.String –> InputStreamInputStrem is = new ByteArrayInputStream(str.getBytes());orByteArrayInputStream stream= new ByteArrayInputStream(str.getBytes());  2.InputStream–>String inputStream input; StringBuffer out = new StringBuffer();     byte[] b =

String,File和xml

String类 String str = “hellow world”: +可以连接多个字符串 length 获取字符串长度 str.indexof(String s)搜索字符或者字符串首次出现的位置 str.lastIndexof(String s) 搜索字符或者字符串最后出现的位置 str.charAt(int index);指定索引出处的字符 str.substring(int beginindex) 截取从beginindex到结尾的字符串 str.substring(int begin

java中Date与String的相互转化

1:大体思路 [html] view plaincopy 这种转换要用到java.text.SimpleDateFormat类 字符串转换成日期类型: 方法1: 也是最简单的方法 Date date=new Date("2008-04-14"); 方法2: SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟 String dstr="2008-4-24"; j

Java基础知识强化44:StringBuffer类之StringBuffer和String的相互转化

1. String和StringBuffer的相互转换 思想是:A-----B的转换,我们把A转换为B,其实是为了使用B的功能:B-----A的转换,我们可能的结果是A类型,所以还要转换回来 2. 案例演示: 1 package cn.itcast_07; 2 3 /* 4 * 为什么我们要讲解类之间的转换: 5 * A -- B的转换 6 * 我们把A转换为B,其实是为了使用B的功能. 7 * B -- A的转换 8 * 我们可能要的结果是A类型,所以还得转回来. 9 * 10 * Strin