添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
String   str   =   "";//add   your   string   content

InputStream   inputStream   =   new   ByteArrayInputStream(str.getBytes());

 1 package org.kodejava.example.io;
2
3  import java.io.ByteArrayInputStream;
4  import java.io.InputStream;
5
6  public class StringToStream {
7 public static void main(String[] args) {
8 String text = "Converting String to InputStream Example";
9
10 /*
11 * Convert String to InputString using ByteArrayInputStream class.
12 * This class constructor takes the string byte array which can be
13 * done by calling the getBytes() method.
14 */
15 try {
16 InputStream is = new ByteArrayInputStream(text.getBytes("UTF-8"));
17 } catch (UnsupportedEncodingException e) {
18 e.printStackTrace();
19 }
20 }
21 }
22  
  1. String string;
  2. //......
  3. InputStream is = new ByteArrayInputStream(string.getBytes());

2、InputStream转字符串

  1. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  2. int i;
  3. while ((i = is.read()) != - 1 ) {
  4. baos.write(i);
  5. }
  6. String str = baos.toString();
  7. System.out.println(str);

3、String写入OutputStream

  1. InputStream in = urlconn.getInputStream(); //获取输入流
  2. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  3. //读取缓存
  4. byte [] buffer = new byte [ 2048 ];
  5. int length = 0 ;
  6. while ((length = in.read(buffer)) != - 1 ) {
  7. bos.write(buffer, 0 , length); //写入输出流
  8. }
  9. in.close(); //读取完毕,关闭输入流
  10. // 根据输出流创建字符串对象
  11. new String(bos.toByteArray(), "UTF-8" );
  12. //or
  13. //bos.toString("UTF-8");

根据同样的原理,我们可以将outputstream直接转换成String对象。

指定一下字符集
byte[] b = str.getBytes("utf-8");
String s = new String(b,"utf-8");

OUTPUTSTREAM中方法WRITE用法

 void write(byte[] b) 
          将 b.length 个字节从指定的 byte 数组写入此输出流。 
 void write(byte[] b, int off, int len) 
          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。 
abstract  void write(int b) 
          将指定的字节写入此输出流。 
原理:字节 +编码表。当用字符 操作字符数据时,会根据当前系统默认的码表,找到字符对应的整数形式,最终 为二进制数据,使用字节 将字节数据进行读写操作。 Reader:用于读取字符 的抽象类。子类有 转换 (InputStreamReader)和字符输入 (FileReader)。方法和字节输入 相似。 Writer:写入字符 的抽象类。子类有 转换 ... ByteArrayInputStream 是 InputStream 的子类,该 可以把一个字节数组在内存中变成一个输入 ,也就是说,它把一个字节数组 byte[] 包装了一下,使其具有 的属性,可顺序读下去。字节数组 是和内存中的数组相关的一个 ,它可以将字节数组写到 输出 中,也可以将字节数组从输入 中读出来,所有过程不涉及磁盘读写。从以上代码中可以看到,ByteArrayInputStream 是从字节数组中读取数据,这是它的主要特征。字节数组输入 常用方法。字节数组 输出 常用方法。 字符串 转换 public InputStream getInputStream( String str) { if (str != null && !"".equals(str.trim())) { try { ByteArrayInputStream inputStream = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8)); return java 编程中字节 转换 成字符 的实现方法import java .io.*;/*readLine方法是字符 BufferReader类中的方法* 而键盘录入的方法是字节 InputStream的方法* 那么能不能将字节 成字符 再使用字符 缓冲区中的readLine方法呢?** InputStreamReader类是字节 向字符 的桥梁。(它本身是一个字符 所以在构造时接受一个字节 )** *... 基于 JAVA 项目,将输入 string InputStream ,然后将文件下载至浏览器默认位置。 还涉及inputstream string string 写入outputStream,output写入 string ;还有常用Content-type格式 JAVA 将字符串变为输入 关于字符串 化为输入 ,我找到2种方法:用 String Reader将字符串 化为Reader用ByteArrayInputStream将字符串 化为InputStream. 还有一个类 String BufferInputStream也可以将 String 化为InputStream,但是由于它只支持字符串中每个字符的低八位,所以已经被遗弃了。PS: java .io.Reade... //方法一:ReaderInputStream ReaderInputStream inputStream = new ReaderInputStream(CharSource.wrap(new String (routeSb)).openStream()); //方法二:Apache Common之IOUtils InputStream targetStream = IOUtils.toInputStream(new String (routeSb), StandardCharsets.UTF_8.name