package 内存流;

 import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream; public class Test {
public static void main(String[] args) throws IOException {
String str="Hello World!中国好国国国。";
InputStream in=new ByteArrayInputStream(str.getBytes());
OutputStream out=new ByteArrayOutputStream();
int tmp=0;
while((tmp=in.read())!=-1)
out.write(Character.toUpperCase(tmp));
System.out.println(out);//HELLO WORLD!中冠好冠冠冠。
//中文有乱码!!!
in.close();
out.close();
}
}

字节数组字节输入输出内存流

 package 内存流;

 import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer; public class Test {
public static void main(String[] args) throws IOException {
String str="Hello World!中国好国国国。";
Reader in=new CharArrayReader(str.toCharArray());
Writer out=new CharArrayWriter();
int tmp=0;
while((tmp=in.read())!=-1)
out.write(Character.toUpperCase(tmp));
System.out.println(out);//HELLO WORLD!中国好国国国。
//字符流处理中文无乱码!!!
in.close();
out.close();
}
}

字符数组字符输入输出内存流

 package 内存流;

 import java.io.*;

 public class Test {
public static void main(String[] args) throws IOException {
File[] files={
new File("D:"+File.separator+"testA.txt"),
new File("D:"+File.separator+"testB.txt"),
};
Reader[] ins={
new FileReader(files[0]),
new FileReader(files[1])
};
Writer out=new CharArrayWriter();
int tmp=0;
while((tmp=ins[0].read())!=-1)
out.write(tmp);
while((tmp=ins[1].read())!=-1)
out.write(tmp);
System.out.println(out.toString());
// System.out.println(new String(out.toCharArray()));
//字节内存输出流ByteArrayOutputStream下有个类似的toByteArray()方法
ins[0].close();
ins[1].close();
out.close();
}
}

将多个文件读入到同一个内存输出流

【java】内存流:java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream、java.io.CharArrayReader、java.io.CharArrayWriter的更多相关文章

  1. Java内存大家都知道,但你知道要怎么管理Java内存吗?

    前言 深入研究Java内存管理,将增强你对堆如何工作.引用类型和垃圾回收的认识. 你可能会思考,如果你使用Java编程,关于内存如何工作你需要了解哪些哪些信息?Java可以进行自动内存管理,而且有一个 ...

  2. Java内存管理的9个小技巧

    Java内存管理的9个小技巧很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测 ...

  3. 关于Java内存管理的几个小技巧

    这里将介绍几则Java内存管理的小技巧,让你让你从Java入门开始告别陋习,为Java程序提速.有不少人都说"Java完了,只等着衰亡吧!",为什么呢?最简单的的例子就是Java做 ...

  4. Java内存管理-你真的理解Java中的数据类型吗(十)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 作为Java程序员,Java 的数据类型这个是一定要知道的! 但是不管是那种数据类型最 ...

  5. 并发编程-Java内存模型

    将之前看过的关于并发编程的东西总结记录一下,本文简单记录Java内存模型的相关知识. 1. 并发编程两个关键问题 并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步. (1)在命令式 ...

  6. 深入理解Java内存模型(摘)

    --摘自 周志明<深入理解Java虚拟机> 转自 https://www.jianshu.com/p/15106e9c4bf3 深入理解Java内存模型(摘) java内存模型(Java ...

  7. JVM的艺术—JAVA内存模型

    *喜欢文章,动动手指点个赞 * 引言 亲爱读者你们好,关于jvm篇章的连载,前面三章讲了类加载器,本篇文章将进入jvm领域的另一个知识点,java内存模型.彻底的了解java内存模型,是有必要的.只要 ...

  8. Java内存管理-掌握虚拟机类加载机制(四)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 上一篇介绍了整个JVM运行时的区域,以及简单对比了JDK7和JDK8中JVM运行时区域 ...

  9. Java虚拟机12:Java内存模型

    什么是Java内存模型 Java虚拟机规范中试图定义一种Java内存模型(Java Memory Model,JMM)来屏蔽掉各种硬件和操作系统的访问差异,以实现让Java程序在各种平台下都能达到一致 ...

  10. Java虚拟机2:Java内存区域及对象

    几个计算机的概念 为以后写文章考虑,也为巩固自己的知识和一些基本概念,这里要理清楚几个计算机中的概念. 1.计算机存储单位 从小到大依次为位Bit.字节Byte.千字节KB.兆M.千兆GB.TB,相邻 ...

随机推荐

  1. Intrumentation类:ActivityInstrumentationTestCase2学习(1)

    public abstract class ActivityInstrumentationTestCase2 extends ActivityTestCase//继承自ActivityTestCase ...

  2. CentOS下redis集群安装

    环境: 一台CentOS虚拟机上部署六个节点,创建3个master,3个slave节点 1.下载并解压 cd /root wget http://download.redis.io/releases/ ...

  3. 【转】《高级前端3.6》JavaScript多线程——Concurrent.Thread.js, WebWork

    原文链接:http://www.cnblogs.com/woodk/articles/5199536.html JavaScript多线程,在HTML5 WebWork没出现之前很多人都是用Concu ...

  4. Libevent 事件循环(1)

    // 事件的dispatch int event_base_loop(struct event_base *base, int flags) {    //得到采用的事件模型 epoll/epoll/ ...

  5. Libevent 事件管理和添加事件

    /**   我们先来看一下事件的创建*/struct event * event_new(struct event_base *base, evutil_socket_t fd, short even ...

  6. Serverless无服务应用架构纵横谈

    Serverless无服务应用架构纵横谈 一.Serverless是啥 自从互联网兴起以来,Server就成了网络的核心部件.所以围绕Server的生意圈,也发展得如火如荼. 从最早的电信托管,到虚拟 ...

  7. mysql主从复制笔记

    一:测试环境介绍 主从复制测试环境是ubuntu+mysql5.7,master服务器ip是192.168.71.135,slave服务器ip是192.168.71.137,ubuntu环境是从一台已 ...

  8. Spring Cloud 之 Feign

    新建Spring Boot工程,命名为feign 1.pom.xml添加依赖 <?xml version="1.0" encoding="UTF-8"?& ...

  9. hdu 2669 Romantic 扩展欧几里得

    Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisf ...

  10. 【MySQL】20个经典面试题,全部答对月薪10k+

    Part2:经典题目 1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 2.MySQL中myisam与innodb的区别,至少5点 (1).问5点不同: (2).innodb引 ...