Java I/O 教程(八) Writer和Reader
Java Writer
Writer是一个用于写字符流的抽象类。其子类必须实现write(char[], int, int), flush(), 和 close()方法。
类定义
public abstract class Writer
extends Object
implements Appendable, Closeable, Flushable
属性
Modifier and Type Field Description
protected Object lock The object used to synchronize operations on this stream.
构造函数
protected Writer()
Creates a new character-stream writer whose critical sections will synchronize on the writer itself.
常用方法
Writer append(char c) 往writer追加指定字符
Writer append(CharSequence csq) 追加指定字符序列
Writer append(CharSequence csq, int start, int end) 追加指定字符序列的子序列
abstract void close() 先冲刷后关闭流
abstract void flush() 冲刷流
void write(char[] cbuf) 写字符数组
abstract void write(char[] cbuf, int off, int len) 写字符数组的部分
void write(int c) 写单个字符
void write(String str) 写字符串
void write(String str, int off, int len) 写部分字符串
例子
package com.dylan.io;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/**
* @author xusucheng
* @create 2018-01-07
**/
public class WriterExample {
public static void main(String[] args) throws IOException {
Writer w = new FileWriter("D:\\output.txt");
String content = "I love my country.";
w.write(content);
w.close();
System.out.println("Done.");
}
}
Java Reader
Reader 是一个用于读取字符流的抽象类。其子类必须实现的方法只有:read(char[], int, int) 和 close()。
实现类包括: BufferedReader, CharArrayReader, FilterReader, InputStreamReader, PipedReader, StringReader
类定义
public abstract class Reader
extends Object
implements Readable, Closeable
属性
protected Object |
lock
The object used to synchronize operations on this stream.
|
构造函数
protected |
Reader()
Creates a new character-stream reader whose critical sections will synchronize on the reader itself.
|
protected |
Reader(Object lock)
Creates a new character-stream reader whose critical sections will synchronize on the given object.
|
常用方法
abstract void |
close()
Closes the stream and releases any system resources associated with it.
|
void |
mark(int readAheadLimit)
Marks the present position in the stream.
|
boolean |
markSupported()
Tells whether this stream supports the mark() operation.
|
int |
read()
Reads a single character.
|
int |
read(char[] cbuf)
Reads characters into an array.
|
abstract int |
read(char[] cbuf, int off, int len)
Reads characters into a portion of an array.
|
int |
read(CharBuffer target)
Attempts to read characters into the specified character buffer.
|
boolean |
ready()
Tells whether this stream is ready to be read.
|
void |
reset()
Resets the stream.
|
long |
skip(long n)
Skips characters.
|
例子
package com.dylan.io;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/**
* @author xusucheng
* @create 2018-01-07
**/
public class ReaderExample {
public static void main(String[] args) throws IOException{
Reader r = new FileReader("D:\\output.txt");
int data = 0;
while ((data=r.read())!=-1){
System.out.print((char)data);
}
r.close();
}
}
下一章
Java I/O 教程(八) Writer和Reader的更多相关文章
- JAVA IO包的整理---------Writer和Reader
一 Writer public abstract class Writer extends Object implements Appendable, Closeable, Flushable 这个类 ...
- 转:Java NIO系列教程(八) DatagramChannel
Java NIO中的DatagramChannel是一个能收发UDP包的通道.因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入.它发送和接收的是数据包. 打开 DatagramChann ...
- Java NIO系列教程(八)JDK AIO编程
目录: Reactor(反应堆)和Proactor(前摄器) <I/O模型之三:两种高性能 I/O 设计模式 Reactor 和 Proactor> <[转]第8章 前摄器(Proa ...
- 20145236 《Java程序设计》第八周学习总结
20145236 <Java程序设计>第八周学习总结 教材学习内容总结 第十四章 NIO与NIO2 认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NIO可以让你 ...
- Java NIO系列教程(十一) Java NIO 与 IO
Java NIO系列教程(十一) Java NIO与IO 当学习了 Java NIO 和 IO 的 API 后,一个问题马上涌入脑海: 我应该何时使用 IO,何时使用 NIO 呢?在本文中,我会尽量清 ...
- 20155313 2016-2017-2 《Java程序设计》第八周学习总结
20155313 2016-2017-2 <Java程序设计>第八周学习总结 教材内容学习 十四章 NIO与NIO2 1.认识NIO NIO使用频道(Channel)来衔接数据节点,在处理 ...
- Java NIO系列教程(三-十二) Buffer
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到 ...
- Java IO(十八) BufferedReader 和 BufferedWriter
Java IO(十八) BufferedReader 和 BufferedWriter 一.介绍 BufferedReader 和 BufferedWriter 是字符缓冲流,分别继承自 Reader ...
- 简单的Writer和Reader
Writer用于写出去到文件中,Reader用于将外面的文件读进来控制台 Writer和Reader有许多子类,但是子类大多都是直接运用父类Writer和Reader的方法,而且Writer和Read ...
- JavaIO(04)字符流--Writer and Reader
字符流: 常识:在java中一个字符等于两个字节: 操作字符流的两个类:Writer,Reader API文档介绍(Writer): public abstract class Write ...
随机推荐
- [转帖]离线部署单机kubenetes-1.28.4
系统版本: openEuler 22.03 (LTS-SP2) docker版本:24.0.7 kubenetes版本: 1.28.4 虚机IP: 192.168.177.138 基于 https:/ ...
- [转帖]TiUP 常见运维操作
https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-using-tiup 本文介绍了使用 TiUP 运维 TiDB 集群的常见操作,包括查看集群 ...
- [转帖]解决jmeter请求响应结果乱码的问题
如下图所示,请求百度接口的时候,发现返回的信息里面中文是乱码 这个时候我们只需要改一下jmeter里的配置文件,设置响应结果的字符编码为UTF-8就行了. 进入jmeter安装目录/bin中,找到jm ...
- [转帖]Redis核心技术与实战
https://www.cnblogs.com/strick/p/14851429.html 最近在读一篇关于Redis的专栏,叫做<Redis核心技术与实战>,作者在Redis方面研究颇 ...
- Python学习之十一_Windows获取硬件信息
Python学习之十一_Windows获取硬件信息 简介 网上找了一些方法简单整理了下,可以快速获取部分信息 包含机器名称等. 以及序列号相关 部分学习来源: https://blog.51cto.c ...
- [转帖]Linux后门的几种姿势
转载自 https://evilanne.github.io/2017/08/26/Linux后门-持续关注/ 在一次渗透中,成功获取某目标几台比较重要的机器,当时只想着获取脱库,结果动静太大被发 ...
- Redis7.0 编译安装以及简单创建Cluster测试服务器的方法
背景 北京时间2022.4.27 晚上九点半左右, Redis 7.0.0 已经GA. 为了进行简单的学习, 这边进行了简单验证工作. 本次主要分为编译, 测试集群搭建,以及springboot进行简 ...
- 神经网络优化篇:详解超参数调试的实践:Pandas VS Caviar(Hyperparameters tuning in practice: Pandas vs. Caviar)
超参数调试的实践 如今的深度学习已经应用到许多不同的领域,某个应用领域的超参数设定,有可能通用于另一领域,不同的应用领域出现相互交融.比如,曾经看到过计算机视觉领域中涌现的巧妙方法,比如说Confon ...
- [2] 以逆向的角度来看流程控制语句——switch
[2] 以逆向的角度来看流程控制语句--switch 1. switch分支数小于4 汇编标识: 00401021 mov [ebp-4], ecx 00401024 cmp dword ptr [e ...
- SqlSugar删除数据
1.根据实体删除 1.1 强类型实体 需要配置主键 ,根据主键删除需要给实体配置主键,参考文档实体配置 //单个实体 db.Deleteable<Student>(new Student( ...