Java I/O 学习笔记(4) reader和writer
来源:互联网 发布:qq堂有mac 编辑:程序博客网 时间:2024/05/21 11:13
package files;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.CharArrayReader;import java.io.CharArrayWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.LineNumberReader;import java.io.OutputStreamWriter;import java.io.StreamTokenizer;import java.io.StringReader;import java.io.StringWriter;import java.util.Arrays;public class TestReaderWriter {/** * @param args * @throws IOException */public static void main(String[] args) throws IOException {testFileReaderWriter();testStreamAdapter();testStringReaderWriter();testCharArrayRW();testLineNumberRW();testStreamTokenizer();testBufferedReader();}/** * 读取中文会产生乱码,因为系统默认编码是GBK,而文件的格式是UTF-8。一种选择是 * 改变系统默认编码为UTF-8,另一种方法见testStreamAdapter() * * @throws IOException */public static void testFileReaderWriter() throws IOException {char[] charBuffer = new char[100];BufferedReader br = new BufferedReader(new FileReader("./input.txt"));br.read(charBuffer);System.out.println(charBuffer);br.close();BufferedWriter bw = new BufferedWriter(new FileWriter("./output.txt"));bw.write("Hello world.");bw.close();}public static void testStreamAdapter() throws IOException {char[] charBuffer = new char[100];BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("./input.txt"), "UTF-8"));br.read(charBuffer);br.close();System.out.println(charBuffer);BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("./output.txt"), "UTF-8"));bw.write("正则表达式。");bw.close();}public static void testStringReaderWriter() throws IOException {StringReader sr = new StringReader("正则表达式");char[] charBuffer = new char[2];while (-1 != sr.read(charBuffer)) {System.out.println(Arrays.toString(charBuffer));}StringWriter sw = new StringWriter();sw.write("正则表达式");sw.append("。");System.out.println(sw.toString());}public static void testCharArrayRW() throws IOException {char[] chars = new char[] { '正', '则', '表', '达', '式' };CharArrayReader car = new CharArrayReader(chars);char[] charBuffer = new char[2];while (-1 != car.read(charBuffer)) {System.out.println(Arrays.toString(charBuffer));}CharArrayWriter caw = new CharArrayWriter();caw.write("正则表达式");caw.append("。");System.out.println(caw.toString());}public static void testLineNumberRW() throws IOException {LineNumberReader lnr = new LineNumberReader(new StringReader("正则\r\n表达\r\n式"));char[] charBuffer = new char[2];while (-1 != lnr.read(charBuffer)) {System.out.println(Arrays.toString(charBuffer));System.out.println(lnr.getLineNumber());}}public static void testStreamTokenizer() throws IOException {StreamTokenizer sTokenizer = null;int wordCount = 0, numberCount = 0;sTokenizer = new StreamTokenizer(new FileReader("./input.txt"));while (sTokenizer.nextToken() != StreamTokenizer.TT_EOF) {if (sTokenizer.ttype == StreamTokenizer.TT_WORD) {wordCount++;System.out.println(sTokenizer.sval);} else if (sTokenizer.ttype == StreamTokenizer.TT_NUMBER) {numberCount++;System.out.println(sTokenizer.nval);}}System.out.println("Number of words in file: " + wordCount);System.out.println("Number of numbers in file: " + numberCount);}public static void testBufferedReader() throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String s = null;while ((s = br.readLine()) != null && s.length() != 0) {System.out.println(s);}}}
0 0
- Java I/O 学习笔记(4) reader和writer
- Java I/O Reader and Writer
- I/O流的设计(Java的InputStream/OuputStream和Reader/Writer的C++实现)
- Java 7之传统I/O - 字符接口 Reader和Writer
- Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
- Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
- Java File I/O :Reader/Writer and when a Stream
- Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
- Java I/O流InputStream,OutputStream,Reader,Writer
- 说说 Java I/O 系统之 Reader 与 Writer
- JavaSE I/O 字符流 Reader/Writer
- Java8 I/O源码-Reader与Writer
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- java-I/O File类(5)-Reader和Writer、OutputStreamWriter 、BufferedWriter、字节流和字符流的区别
- 4 Java IO:Reader 和 Writer
- iOS Block在ARC/非ARC下的使用总结
- ATS 4.2.3隐藏服务器名称及版本号的方法
- 2015.04.22(Objective_C----NSString和NSMutableString)
- double float类型判断无效值
- 常见密算法https通信原理及openssl建立私有CA
- Java I/O 学习笔记(4) reader和writer
- C/C++重要知识点
- qq主要用的是哪个协议?tcp or udp?
- 国内开源站点
- sublime text
- AWK 简明教程
- Android 很经典的错误提示框
- Activity, Service,Task, Process and Thread之间关系简介
- CXF之日志拦截器的使用