• 【java】内存流:java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream、java.io.CharArrayReader、java.io.CharArrayWriter


     1 package 内存流;
     2 
     3 import java.io.ByteArrayInputStream;
     4 import java.io.ByteArrayOutputStream;
     5 import java.io.IOException;
     6 import java.io.InputStream;
     7 import java.io.OutputStream;
     8 
     9 public class Test {
    10     public static void main(String[] args) throws IOException {
    11         String str="Hello World!中国好国国国。";
    12         InputStream in=new ByteArrayInputStream(str.getBytes());
    13         OutputStream out=new ByteArrayOutputStream();
    14         int tmp=0;
    15         while((tmp=in.read())!=-1)
    16             out.write(Character.toUpperCase(tmp));
    17         System.out.println(out);//HELLO WORLD!中冠好冠冠冠。
    18         //中文有乱码!!!
    19         in.close();
    20         out.close();
    21     }
    22 }
    字节数组字节输入输出内存流
     1 package 内存流;
     2 
     3 import java.io.CharArrayReader;
     4 import java.io.CharArrayWriter;
     5 import java.io.IOException;
     6 import java.io.Reader;
     7 import java.io.Writer;
     8 
     9 public class Test {
    10     public static void main(String[] args) throws IOException {
    11         String str="Hello World!中国好国国国。";
    12         Reader in=new CharArrayReader(str.toCharArray());
    13         Writer out=new CharArrayWriter();
    14         int tmp=0;
    15         while((tmp=in.read())!=-1)
    16             out.write(Character.toUpperCase(tmp));
    17         System.out.println(out);//HELLO WORLD!中国好国国国。
    18         //字符流处理中文无乱码!!!
    19         in.close();
    20         out.close();
    21     }
    22 }
    字符数组字符输入输出内存流
     1 package 内存流;
     2 
     3 import java.io.*;
     4 
     5 public class Test {
     6     public static void main(String[] args) throws IOException {
     7         File[] files={
     8                 new File("D:"+File.separator+"testA.txt"),
     9                 new File("D:"+File.separator+"testB.txt"),
    10         };
    11         Reader[] ins={
    12                     new FileReader(files[0]),
    13                     new FileReader(files[1])
    14         };
    15         Writer out=new CharArrayWriter();
    16         int tmp=0;
    17         while((tmp=ins[0].read())!=-1)
    18             out.write(tmp);
    19         while((tmp=ins[1].read())!=-1)
    20             out.write(tmp);
    21         System.out.println(out.toString());
    22 //        System.out.println(new String(out.toCharArray()));
    23         //字节内存输出流ByteArrayOutputStream下有个类似的toByteArray()方法
    24         ins[0].close();
    25         ins[1].close();
    26         out.close();
    27     }
    28 }
    将多个文件读入到同一个内存输出流
  • 相关阅读:
    关于项目中 "不能创建大小为 8190 的行,该大小大于所允许的最大行大小 8060 "的处理
    sql 使用with 递归
    ssh,安全验证的级别(来自BD百科)
    Windows系统自带路由命令Route add,解决双网卡网络流向问题
    irreversiblecipher和cipher区别(华为交换机)
    Centos7重置root密码(20220527 02:03测试可用)
    2022中级财务管理相关公式的总结
    移动端软键盘顶出nav
    React.Component生命周期
    Axure 9 单选效果
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/6684634.html
Copyright © 2020-2023  润新知