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 to String

这里提供几个方法。

方法1:

public String convertStreamToString(InputStream is) {

BufferedReader reader = new BufferedReader(new InputStreamReader(is));

StringBuilder sb = new StringBuilder();

String line = null;

try {

while ((line = reader.readLine()) != null) {

sb.append(line + "/n");

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return sb.toString();

}

方法2:

public   String   inputStream2String   (InputStream   in)   throws   IOException   {
        StringBuffer   out   =   new   StringBuffer();
        byte[]   b   =   new   byte[4096];
        for   (int   n;   (n   =   in.read(b))   !=   -1;)   {
                out.append(new   String(b,   0,   n));
        }
        return   out.toString();
}

方法3:
public   static   String   inputStream2String(InputStream   is)   throws   IOException{
        ByteArrayOutputStream   baos   =   new   ByteArrayOutputStream();
        int   i=-1;
        while((i=is.read())!=-1){
        baos.write(i);
        }
       return   baos.toString();
}

时间: 2024-08-04 15:47:00

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

String,InputStream相互转换

一. InputStream转换为String 转换的过程是: 使用FileInputStream读取文件流: 使用InputStreamReader读取FileInputStream流: 使用BufferedReader读取InputStreamReader: 每次读取一行BufferedReader,遍历. 具体代码如下: String template="D;//test.txt"; FileInputStream fileInputStream=null; InputStrea

String与InputStream互转的几种方法

/** * 利用BufferedReader实现Inputstream转换成String <功能详细描述> * * @param in * @return String */ public static String Inputstr2Str_Reader(InputStream in, String encode) { String str = ""; try { if (encode == null || encode.equals("")) { /

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

String 、InputStream、Reader 的转换

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

C++ string和int相互转换

首先需要C++ 11的支持 打开devC++,点击tools,点击编译环境,然后出现的框第一个勾选,输入-std=c++11即可 然后使用 to_string() 和 atoi() 就可以轻松实现其相互转换 1 #include <iostream> 2 #include <algorithm> 3 #include <string> 4 #include <sstream> 5 typedef long long ll; 6 using namespace

2015.5.11 string与byte[]相互转换

string类型转成byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); 反过来,byte[]转成string: string str = System.Text.Encoding.Default.GetString ( byteArray );

JAVA中int、String的类型相互转换

int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);这两种方法有什么区别呢?作用是不是一样的呢?是不是在任何下都能互换呢? String -> int s="12345";int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.valueOf(s).intValue();这两种方法有什么区别

java中String\十六进制String\byte[]之间相互转换函数

java二进制,字节数组,字符,十六进制,BCD编码转换2007-06-07 00:17/** *//** * 把16进制字符串转换成字节数组 * @param hex * @return */ public static byte[] hexStringToByte(String hex) { int len = (hex.length() / 2); byte[] result = new byte[len]; char[] achar = hex.toCharArray(); for (i

java/servlet/jsp 中String与int相互转换

String ---> int 1 //方式一:Integer(String s) 2 //demo: 3 Integer i = new Integer("10"); // 10 4 int a = i.intValue() 5 6 //方式二:static int parseInt(String s) 7 int b = Integer.parseInt("20"); //20 int ---> String 1 //demo: 2 int a =