文件流的练习

package com.hrf.io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;

public class IOTest {
//   文件流
	public static void main(String[] args) {
//		1.传统方法 创建字节输入流
		InputStream inputStream = null;
		try {
//			读取文件
			inputStream = new FileInputStream("d:/hrf/demo1.txt");
//			临时变量
			int temp = 0;
//			读取内容
			while((temp = inputStream.read()) > 0) {
				System.out.print((char)temp);
			}
		} catch (Exception e) {
			// TODO: handle exception
		}finally {
			if(inputStream != null) {
				try {
//					关闭
					inputStream.close();
				} catch (Exception e2) {
					e2.printStackTrace();
				}
			}
		}
//		一个字符是两个字节,一个中文正好是一个字符
//		2.一般写法新的编程方式  创建字节输入流,读取文件
		try(InputStream inputStream1 = new FileInputStream("d:/hrf/demo2.txt")) {		
//			临时变量
			int temp = 0;
//			读取内容
			while((temp = inputStream1.read()) > 0) {
				System.out.print((char)temp);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
//		3.一般写法新的编程方式  创建字节输入/输出流
		try(OutputStream outputStream = new FileOutputStream("d:/hrf/demo3.txt");
				InputStream inputStream2 = new FileInputStream("d:/hrf/demo2.txt")) {
//			完成复制,临时变量
			int temp = 0;
//			读取内容
			while((temp = inputStream2.read()) > 0) {
				outputStream.write(temp);
				System.out.print((char)temp);
			}
//			推荐显示的编写flush方法
			outputStream.flush();
			System.out.println("=====");
		} catch (Exception e) {
			e.printStackTrace();
		}
//		4.一般写法新的编程方式  创建的字符的输入流,不会出现中文乱码的问题了  
		try(Reader reader = new FileReader("d:/hrf/demo2.txt")) {
//			临时变量
			int temp = 0;
//			读取内容
			while((temp = reader.read()) > 0) {
				System.out.print((char)temp);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}

//		5.一般写法新的编程方式  创建字符输入/输出流
		try(Reader reader = new FileReader("d:/hrf/demo2.txt");
					Writer writer = new FileWriter("d:/hrf/demo4.txt")) {
//			完成复制,临时变量
			int temp = 0;
//			读取内容
			while((temp = reader.read()) > 0) {
				writer.write(temp);
			}
//			推荐显示的编写flush方法
			writer.flush();
			System.out.println("=====");
		} catch (Exception e) {
			e.printStackTrace();
		}
//		6.一般写法新的编程方式  创建字节输出流Writer writer = new FileWriter("d:/hrf/demo4.txt",true是对文件内容追加)默认是false会对文件内容覆盖
		try(Writer writer = new FileWriter("d:/hrf/demo4.txt",true)) {
			writer.write("学习技术");
			writer.flush();
			System.out.println("=====");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值