String,InputStream相互转换

一. InputStream转换为String

转换的过程是:

  1. 使用FileInputStream读取文件流;
  2. 使用InputStreamReader读取FileInputStream流;
  3. 使用BufferedReader读取InputStreamReader;
  4. 每次读取一行BufferedReader,遍历。

具体代码如下:

String template="D;//test.txt";
FileInputStream fileInputStream=null;
InputStream in=null;
BufferedReader tBufferedReader=null;
StringBuffer tStringBuffer=new StringBuffer();//转换为的字符串
try {
     fileInputStream = new FileInputStream(template);
     tBufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
     String sTempOneLine = new String("");
     while ((sTempOneLine = tBufferedReader.readLine()) != null){
             tStringBuffer.append(sTempOneLine);
     }
}catch(Exception e){
         e.printStackTrace();
} finally{
         try {
             tBufferedReader.close();
             fileInputStream.close();
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
        }
}
 

二. String转换为InputStream

转换过程需要借助ByteArrayInputStream读取字符串的字节码,ByteArrayInputStream是InputStream的子类,强制转换即可。

代码如下:

String template="abcdef";
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(template.getBytes());
InputStream inputStream=(InputStream)byteArrayInputStream;
时间: 2024-10-16 10:32:02

String,InputStream相互转换的相关文章

String与InputStream相互转换

1.String to InputStream String str = "String与InputStream相互转换"; InputStream   in_nocode   =   new   ByteArrayInputStream(str.getBytes());  InputStream   in_withcode   =   new   ByteArrayInputStream(str.getBytes("UTF-8")); 2.InputStream

【转】Drawable /Bitmap、String/InputStream、Bitmap/byte[]

原文:http://wuxiaolong.me/2015/08/10/Drawable-to-Bitmap/ Drawable互转Bitmap Drawable转Bitmap 1234 Resources res = getResources();Drawable drawable = res.getDrawable(R.drawable.myimage);BitmapDrawable bd = (BitmapDrawable) d;Bitmap bm = bd.getBitmap(); 123

C++里的int 和string类型相互转换

C++不像Java和C#一样在进行数据类型转换时直接调用一些类方法就可以了,使用起来很简单. 一个很简单的例子就是string str="D:\\"+1+".txt";这在Java或者C#里面是可以自动拆箱和包 箱就可以了,但是在C++里面是不可以的.当然这只有一个文件还好,但是当我们要使用for循环去遍 厉一个文件夹下的1,2,3...命名的文件时或许就有点麻烦了.由于我自己碰到过这种情况,所以这里写 写几种方法.或许不是最好的方法,但是权当练练笔了,如果你发现错

java常用string inputStream转换

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

C# 跨线程调用form控件技巧及byte[]与string型相互转换

跨线程调用form控件技巧 private delegate void MethodSocket(object obj);//使用托管 ss = "OK"; this.BeginInvoke(new MethodSocket(InvokerReadMsg), ss);//this指向本窗体,回调函数InvokerReadMsg, private void InvokerReadMsg(object obj)//在这个函数里面可以直接访问Form控件<span style=&quo

Java之byte、char和String类型相互转换

1 package basictype; 2 3 /** 4 * byte.char和String类型相互转换 5 */ 6 public class CHJavaType { 7 public static void main(String[] args) { 8 String string = "abcd"; 9 10 // String转char[] 11 char[] chars = string.toCharArray(); 12 for (char c : chars) {

QString, Std::string, char *相互转换

Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) 类型,因此在Qt框架下需要将QString转换成标准字符 (串) 类型.下面介绍QString, Std::string, char *相互转换转换方法. std::string和char *的相互转换 1.  将char *或char[]转换为std::string 可直接赋值 std::stri

Mysql数据库中图片字段Blob类型和String类型相互转换

1.Blob-->String String result = ""; if (blob != null) { InputStream is = blob.getBinaryStream(); ByteArrayInputStream bais = (ByteArrayInputStream) is; byte[] byte_data = new byte[bais.available()]; // bais.available()返回此输入流的字节数 bais.read(byt

string&amp;wstring相互转换(CH&amp;EN)2

C++的locale框架比C更完备.C++除了一个笼统本地策略集locale,还可以为locale指定具体的策略facet,甚至可以用自己定义的facet去改造一个现有的locale产生一个新的locale.如果有一个facet类NewFacet需要添加到某个old_loc中形成新new_loc,需要另外一个构造函数,通常的做法是: std::locale new_loc(old_loc, new NewFacet); 标准库里的标准facet都具有自己特有的功能,访问一个locale对象中特定