IO中的Reader和Writer

Writer

将字符数组写入一个指定的文件中,若该文件可以不存在,则系统会自动创建一个指定文件,用来存储数据;
若文件路径不存在,则该文件会创建在当前项目下(相对路径)
package com.mage.Io.writer;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

public class Test01 {
	public static void main(String[] args) throws IOException{
		//	创建对象
		OutputStream os = new FileOutputStream("a.txt");
		Writer out = new OutputStreamWriter(os);
		
		//	声明数据
		char[]  ch = new char[] {'帅','死','人','不','偿','命'};
		
		//	输出数据
		out.write(ch);
		//	刷新缓存区
		out.flush();
		//	关闭资源
		out.close();
	}
}
将字符串写入一个指定的文件中,若该文件可以不存在,则系统会自动创建一个指定文件,用来存储数据;
若文件路径不存在,则该文件会创建在当前项目下(相对路径)
package com.mage.Io.writer;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

public class Test02 {
	public static void main(String[] args) throws IOException{
		//		创建对象
		Writer out = new OutputStreamWriter(new FileOutputStream("a.txt"));
		//声明输出数据
		String str = "独钓寒江雪"+"\n只缘身在此山中";
		//	输出数据
		out.write(str);
		//	刷新缓存区
		out.flush();
		//	关闭资源
		out.close();
	}
}

package com.mage.Io.writer;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Scanner;
//Buffer的效率更高
public class Test03 {
	public static void main(String[] args) throws IOException {
		//创建对象
		Scanner input = new Scanner(System.in);
		Writer write = new OutputStreamWriter(new FileOutputStream("b.txt"));
		BufferedWriter bw = new BufferedWriter(write);
		
		//声明数据,从键盘输入
		String str = input.nextLine();
		//输出数据
		bw.write(str);
		//刷新缓存区
		bw.flush();
		//关闭资源
		bw.close();
		write.close();
		input.close();
	}
}

Reader


package com.mage.Io.reader;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;

public class Tesr02 {
	static String filePath = "C:\\Users\\Administrator\\Desktop\\a.txt";
	
	public static void main(String[] args) {
		write("生活如此美好,为何你不珍惜");
		read();
	}
	
	public static void read() {
		//	创建对象
		Reader read =  null;
		try {
			read = new InputStreamReader(new FileInputStream(filePath),"GBK");
			char[] ch= new char[1024];
			int count = 0;
			//读取数据
			StringBuilder sb = new StringBuilder();
			
			while((count=read.read(ch))!=-1) {
				sb.append(ch,0,count);
			}
			System.out.println(sb.toString());
			
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			try {
				if(read!=null) {
					read.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	
	public static void  write(String msg) {
		//	创建对象
		Writer wt = null;
		try {
			wt = new OutputStreamWriter(new FileOutputStream(filePath),"GBK");
			
			//	输出内容
			wt.write(msg);
			//	刷新缓存区
			wt.flush();
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			try {
				if(wt!=null) {
					wt.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}	
		}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值