`
dss16694
  • 浏览: 144611 次
社区版块
存档分类
最新评论

stream还是Reader Writer

 
阅读更多

stream是针对byte[]操作,针对于二进制文件操作。

Reader和Writer针对char操作,针对于文本文件操作。默认是用本机的编码方式写char ,如UTF-8和UTF-16和GB2312编码 
Reader和Writer是abstract类,不能直接用,一般用FileReader和FileWriter。 
如果采用具体编码,需要采用OutputStreamWriter。注意OutputStreamWriter的构造函数需要一个OutputStream的实例。 
BufferedReader和BufferedWriter针对普通Reader和Writer进行优化。 

PrintWriter 
另外PrintWriter可以支持一系列的print函数,也支持不同编码方式。 

PrintStream类似PrintWriter,提供了一系列print函数。例如System.out就是PrintStream。

 

编码方式 
OutputStreamWriter和PrintWriter都支持不同编码方式 
FileWriter只支持默认编码方式 

 

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Arrays;

public class MyTest {

	public static void test1() throws IOException {
		FileOutputStream fos = new FileOutputStream("c:\\test.dat");

		byte[] buf = new byte[1024];
		Arrays.fill(buf, (byte) 'a');
		fos.write(buf);
		fos.close();
	}

	public static void test2() throws IOException {
		FileWriter writer = new FileWriter("c:\\test.txt");
		char c = 'A';
		String temp = "test";
		writer.write(c);
		writer.write(temp);
		writer.close();
	}
	
	public static void test3() throws IOException {

		OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(
				"c:\\test.txt"),"utf-8");
		
		writer.append("北京理工大学");
		
		writer.close();
	}	
	
	public static void test4() throws IOException {

		PrintWriter writer = new PrintWriter("c:\\1.txt", "utf-16");
		
		writer.append("北京理工大学");
		
		writer.close();
	}		

	public static void main(String[] args) throws IOException {

		test4();
		System.out.println("OK");
	}
}

 

分享到:
评论

相关推荐

    ioliu.rar_IO流 java_Java Reader Writer_java IO_stream

    * io流 运用 * 注意:只要子类 包含以下类名字的,就是该流的继承 * InputStream----- ... * Reader-------- 输入字符流 * OutputStream-----输出字节流 * Writer --------输出字符流

    labview小车

    1. Specify the IP Address of the reader that will be set in the Network Stream 2. Create the Network stream writer endpoint specifying the current VI as the writer 3. Event Structure performs ...

    ssh常用工具jar包详解(很详细,有源码实例)

    它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与writer实现. commons-beanutils.jar: 提供对Java 反射和自省API的...

    commons-io-2.4.zip

    •Input - useful Input Stream and Reader implementations •Output - useful Output Stream and Writer implementations •Filters - various implementations of file filters •Comparators - various ...

    ascii_stream_driver:用于流式传输的简单char设备驱动程序

    ascii_stream_driver 用于流式传输的简单char设备驱动程序 安装 make sudo insmod asciistreamer.ko sudo chown $USER /dev/asciistreamer 跑步 首先运行./writer starwars.txt然后打开一个新终端并运行./reader ...

    分布式高性能日志复制服务 DistributedLog.zip

    DistributedLog会分类维护记录的序列(sequences of records),并将其称为Log(又叫做Log Stream),将记录写入到DL Log的进程称之为Writer,从Log中读取并处理记录的进程称之为Reader。因此,它整体的软件栈如下所...

    minip:Mini P是一个简单的数据库,可以与CouchDB复制

    迷你P Mini P(用于迷你比萨饼的柏林语)是可以与CouchDB复制的简单...您可以通过调用stream.reader(db)或stream.writer(db)在适配器之外创建拉流。 复写 为了进行复制,您只需将reader流传输到writer流中: pull

    ruby-zstds:zstd库的Ruby绑定

    您也可以使用通用流API: Stream::Writer和Stream::Reader 。 require "zstds" data = ZSTDS :: String . compress "sample string" puts ZSTDS :: String . decompress ( data ) ZSTDS :: File . compress "file....

    duplex-combination

    双工组合将可读写流合并为双工流用 var dp = new DuplexCombination ( reader , writer , options ) ;dp . write ( "data" ) ;dp . on ( 'readable' , function ( ) { dp . read ( n ) ;} )其他公共财产读写流使用...

    hashstream:散列读取器Writer,允许计算流内容的散列

    哈希流1最初是为了提供加密散列Writer / Reader对文件太大而无法容纳在内存或流中的支持而编写的。 受到Java的和启发但是,有人向我,(io.MultWriter)[ ]是一种更好的方法。 是的! :-) 所以1用与此io.MultiWriter...

    Java IO, NIO and NIO.2(Apress,2015)

    In this book, you'll learn about classic I/O APIs (File, RandomAccessFile, the stream classes and related types, and the reader/writer classes). Next, you'll learn about NIO's buffer, channel, ...

    java IO流读写

    InputStream和OutputStream 1.DataInputStream,... BufferedReader,BufferedWriter 从Reader/Writer里读取基本类型的数据 2.BufferedInputStream,BufferedOutputStream 封装了从缓冲区读写指定数量数据的方法

    WPTools.v6.29.1.Pro

    - The reader/writer receive their options through "FormatStrings" please see list at http://www.wpcubed.com/manuals/formatstrings.htm - WPTools is configured using the file WPINC.INC, here ...

    winning-datax-20200215.zip

    35M精简版,仅需依赖java8在windows下运行。内置reader、writer有sqlserver、textfile、ftp、stream。能够处理数据库、控制台、csv、ftp之间数据的传递。文档介绍如何订制自己的精简版,比如您只需要mysql的等等。

    pgstream:Go的日志流库

    这使您可以传递可以在进程之间共享的io.Reader或io.Writer 。用法首先,使用以下架构创建一个表: CREATE TABLE logs ( id SERIAL , stream text not null , text text);CREATE INDEX index_stream_on_logs ON logs...

    基础深化和提高-IO流技术学习大全

    字符输入流(Reader)和字符输出流(Writer):用于处理文本数据,以字符为单位进行读写,支持字符集的编解码。常见的实现类包括FileReader、FileWriter等。 I/O流技术提供了丰富的功能和特性,使得开发者能够轻松地...

    .net core如何在网络高并发下提高JSON的处理效率详解

    但也正是这原因导致Newtonsoft.Json在性能上一直被说慢,虽然Newtonsoft.Json提供Stream的方式来处理JSON不过想复用writer和reader还是需要一些应用技巧。如果需要在网络通讯中应用JSON,那在这里介绍一下SpanJson这...

    java8stream源码-java8-cert:一些用于练习Java8OCP的代码

    (Writer, Reader, ...) NIO 2:路径、文件、字符串、字符串编写器 例外 哈希表 抽象类 注释 日期/时间 API 并发更新 反射 资源 Java OCP学习书 去做 访问修饰符审查( public 、 default 、 protected 、 private )...

    Jakarta commons docs API CHM 格式

    它包含三个主要的领域:Utility classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与 writer实现 commons-jelly 能够把XML转换成可执行代码,所以Jelly...

Global site tag (gtag.js) - Google Analytics