Java IO输入输出流 字符数组流 ByteArrayOutputStream/ByteArrayInputStream

private static void StringWriterAndReader() throws Exception {
//字符串流(字符串的内存流)
//字符串输入流
StringWriter sWriter=new StringWriter();
sWriter.write("文档在手,天下我有!");
sWriter.write("吃得苦中苦,方为人上人!");
// System.out.println(sWriter.toString());
//字符串的输出流
StringReader sReader=new StringReader(sWriter.toString());
char[] buffer =new char[1024];
int len=-1;
while((len=sReader.read(buffer))!=-1){
System.out.println(new String(buffer,0,len) );
}
sWriter.close();
sReader.close();
}
private static void charArray() throws IOException {
//字符数组流/内存流
//字符数组输出流:程序----->内存
CharArrayWriter writer =new CharArrayWriter();
writer.write("欢迎学习Java!");
char[] content=writer.toCharArray();
//字节数组输入流:内存----->程序
CharArrayReader reader=new CharArrayReader(content);
int len=-1;
char[] ch=new char[1024];
while((len=reader.read(ch))!=-1){
System.out.println(new String(ch,0,len));
}
writer.close();
reader.close();
}
private static void byteArray() throws Exception {
//字节数组流/内存流
//字节数组输出流:程序----->内存
ByteArrayOutputStream out=new ByteArrayOutputStream();
out.write("大家好啊!".getBytes());
byte[] bye=out.toByteArray();
//字节数组输入流:内存----->程序
ByteArrayInputStream in=new ByteArrayInputStream(bye);
byte[] buffer=new byte[1024];
int len=-1;
while((len=in.read(buffer))!=-1){
System.out.println(new String(buffer,0,len));
}
out.close();
in.close();
}
合并流(SequenceInputStream)
//创建顺序流对象
SequenceInputStream in= new SequenceInputStream(new FileInputStream("file/copy.txt"), new FileInputStream("file/copy12.txt"));
byte[] buffer=new byte[1024];
int len=-1;
while((len=in.read(buffer))!=-1){
System.out.println(new String(buffer,0,len));
}
in.close();
Java IO输入输出流 字符数组流 ByteArrayOutputStream/ByteArrayInputStream的更多相关文章
- java.IO输入输出流:过滤流:buffer流和data流
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
- Java IO: 字节和字符数组
原文链接 作者: Jakob Jenkov 译者:homesick 内容列表 从InputStream或者Reader中读入数组 从OutputStream或者Writer中写数组 在java中 ...
- java IO输入输出流中的各种字节流,字符流类
字节流字节流主要是操作byte类型数据,也byte数组为准,主要操作类就是·字节输出流:OutputStream·字节输入流:InputStream字符流在程序中一个字符等于2个字节,那么java提供 ...
- Java IO 输入输出流 详解 (一)***
首先看个图: 这是Javaio 比较基本的一些处理流,除此之外我们还会提到一些比较深入的基于io的处理类,比如console类,SteamTokenzier,Externalizable接口,Seri ...
- Java——IO(输入输出流)
* * 想要知道开发时用到哪些数据对象,只要通过四个明确即可: * 1.明确源,和目的: * 源: InputStream reader * 目的: OutPutStream Write ...
- Java IO输入输出流 FileWriter 字符流
字节缓冲流 //为什么要使用包装流,使用包装流是为了提高读写操作的性能. public class Packing_flowDemo { public static void main(String[ ...
- Java - io输入输出流 --转换流
转换流 转换输出流 OutputStreamWriter: 说明: /* * OutputStreamWriter 这个类的作用 * 就是指定输出流的编码格式 * 这个类的构造方法 需要传递 一个输 ...
- java io 输入输出流
数据流分类: 流序列中的数据既可以是未经加工的原始二进制数据, 也可以是经一定编码处理后符合某种格式规定的特定数据. 因此Java中的流分为两种: 1) 字节流:数据流中最小的数据单元是字节 2) 字 ...
- Java IO输入输出流File 字节流
public static void main(String[] args) throws IOException { //创建源 File f =new File("file/stream ...
随机推荐
- Ubantu下安装FTP服务器
在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置,下面我来介绍在Ubuntu中vsftpd安装与配置增加用户的 ...
- $GLOBALS超级全局变量(PHP学习)
1.$GLOBALS是一个数组,里面有所有的全局变量 2.$GLOBALS是超级全局变量,函数内部可以通过它直接操作全局变量.(严重不推荐,因为违反了封装原则) 3.通过$GLOBALS操作全局变量, ...
- How to get the MD5 checksum for a file: md5sum, digest, csum, fciv
LINUX: md5sum fileName In Linux, the md5sum utility can be used: aemtux1:/ % md5sum binary.file 0c46 ...
- SpringMVC解决跨域问题及CROS
CORS 首先因为最近在做一个前后端分离的项目,分开就意味着可能不在一个域中,所以不可避免的遇到CORS的问题.试过几个方法: Spring MVC 4.2.5以后新增的支持跨域的注解@CrossOr ...
- jenkins 离线安装插件 ,插件的下载地址
http://updates.jenkins-ci.org/download/plugins/ 来源:https://blog.csdn.net/liyuming0000/article/detail ...
- RPC框架简易实现
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些 ...
- python开发函数进阶:生成器表达式&各种推导式
一,生成器表达式 #生成器表达式比列表解析更省内存,因为惰性运算 #!/usr/bin/env python #_*_coding:utf-8_*_ new_2 = (i*i for i in ran ...
- timequest学习之黑金动力(一)
黑金动力的资料还是非常有价值的.通过建模篇,对于给定的时序关系,我总能实现.但是,这总是很初级的能力.也只是为后面的建模服务.所以,现阶段我的能力还是非常有限.我相信我一定会成为牛人,能够独挡一面.借 ...
- Python多线程-线程锁
多线程修改一份数据时需要用到线程锁,以防止数据修改出错 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import threa ...
- 工程添加EF框架的方法
1.VS2015添加新项缺少ADO.net实体数据模型解决方法 手动运行安装目录包中的\packages\EFTools\EFTools.msi即可恢复 2.此时,在添加->新建项目下会出现AD ...