IO字符流API常见用法汇总(JAVA)

Don’t bb , show your code.
好了,废话不多说,下面我将用代码及注释给出我在学习JAVA IO字符流后,对它的理解及用法的总结,希望能对初学者们有点帮助。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;

public class 字符流 {
    private static final  String LINE_SEPARATOR=System.getProperty("line.separator");//固定系统换行操作
    
	public static void main(String[] args) throws IOException {
//		fileWritershow();
//		fileReadershow();
//		copytest();//复制文件另存
//		bufferedWritershow();
//		bufferedReadershow();
//		bufferCopytest();//缓冲区实现文件的重写
		LineNumberReadershow();

	}
	
/*
 * 使用装饰类LineNumberReader实现文档的按行遍历输出。
 */
private static void LineNumberReadershow() throws IOException {
	FileReader fr=new FileReader("bufferdemo.txt");
	LineNumberReader lnr=new LineNumberReader(fr);
	String line=null;
	//遍历输出
	while((line=lnr.readLine())!=null) {
		System.out.println(lnr.getLineNumber());//获取行号
		System.out.println(line);
	}
	lnr.close();
	}

/*
 * 缓冲区实现文件的重写
 */
private static void bufferCopytest() throws IOException {
	//读
	FileReader fr=new FileReader("bufferdemo.txt");
	BufferedReader br=new BufferedReader(fr);
	
	//写
	FileWriter fw= new FileWriter("copybufferdemo.txt");
	BufferedWriter bw=new BufferedWriter(fw);
	while(br.ready()) {
		bw.write(br.readLine());//按行写入
		bw.newLine();
	}
	
	br.close();
	bw.close();
	}

/*
 * 字符流的缓冲区方法操作演示(读取)
 */
private static void bufferedReadershow() throws IOException {
		FileReader fr=new FileReader("bufferdemo.txt");
		BufferedReader br=new BufferedReader(fr);//创建输出字符流缓冲区
		while(br.ready()) {
		System.out.println(br.readLine());
		}
		br.close();
	}

/*
 * 字符流的缓冲区方法操作演示(写入)
 */
private static void bufferedWritershow() throws IOException {
	FileWriter fw= new FileWriter("bufferdemo.txt");
	BufferedWriter bw=new BufferedWriter(fw);//创建缓冲区将输入字符流放入缓冲区中
	bw.write("缓冲区操作。\r\n写入成功!!");
	bw.newLine();
	bw.write("用newLine()实现换行。");
	bw.close();		
	}

/*
 * 将文件复制另存
 * 思路:文件读写操作
 */
private static void copytest() throws IOException {
    //读
	FileReader fr=new FileReader("demo.txt");//创建打开文件对象
	char[] buf=new char[1024];
	fr.read(buf);
	fr.close();
	//写
	FileWriter fw= new FileWriter("copyDemo.txt");
	fw.write(new String(buf));
	fw.close();//关闭流,关闭打开资源,在关闭前会调用flush
	fw=new FileWriter("copyDemo.txt",true);//续写
	fw.write(LINE_SEPARATOR+"复制成功!!");
	fw.close();
	}

/*
 * 将一些文字存储到硬盘文件中
 */
	private static void fileWritershow() throws IOException {
		FileWriter fw= new FileWriter("demo.txt");//创建选择操作文件对象,文件存在会被覆盖
		//写入数据
		fw.write("大王叫我来巡山!!");//数据已存储到临时存储缓冲区中
		fw.flush();//存储缓冲区刷新,数据存储到目标文件
		fw.write("\r\n来到山里转一转。"+LINE_SEPARATOR+"调用系统换行操作。");//\r\n  window中的换行操作
		fw.close();//关闭流,关闭打开资源,在关闭前会调用flush
		fw=new FileWriter("demo.txt",true);//续写
		fw.write(LINE_SEPARATOR+"对文件内容进行续写。");
		fw.close();
		
	}
	
/*
 * 读取文件输出 
 */
	private static void fileReadershow() throws IOException  {
		FileReader fr=new FileReader("demo.txt");//创建打开文件对象
		//用reader中的read方法读取字符
//		fr.read();//返回int,
//		int ch=0;
//		while(fr.read()!=-1) {
//			ch=fr.read();
//			System.out.print((char)ch);
//		}//方法一 , 不用于输出中文
//方法二 ,读数组read(char[])
		char[] buf=new char[42];
		int num=fr.read(buf);//将读取到的字符串存储到数组中
		System.out.println(num+"::"+new String(buf));
		
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值