Javase——IO流之文件读写(一)

IO——就是输入输出(Input,Output)的缩写。

IO的本质就是数据在计算机中流动。

流的概念:数据流动,数据从源结点到目标结点的流动。

流的分类如下:

按操作数据单位:

  • 字节流
  • 字符流

按数据流的流向:

  • 输入流
  • 输出流
  • 流中的数据

 

Java中的IO流有40多个子类,都是从4个抽象基类中继承的。

4个抽象基类分别是:

字节流(8 bit)

  • InputStream 输入流
  • OutputStream 输出流

字符流 (16 bit)

  • Reader 输入流
  • Writer 输出流

 

读写文件的步骤:

  1. 创建流对象,建立流通道
  2. 通过通道处理数据
  3. 关闭流通道,释放资源

 

具体读操作如下:

/*
*  读文件三大步:
     1、使用文件输入流打开指定文件
     2、读取文件数据
     3、关闭输入流
*/
public void test1() throws Exception {
		// 1、声明引用变量并复制null
		FileReader fileReader = null;
		// 2、try catch finall
		try {
			// 5、在try中创建对象
			fileReader = new FileReader("test.txt");
			// 6、处理数据
			int ch = (char)fileReader.read(); //读一个字符
			int linenum=1;
			System.out.print(linenum+":");
			while(ch != -1) {
				//先处理读到的数据
				if(ch==10) {
					linenum++;
					System.out.print(linenum+":");
					
				}else {
					System.out.print((char)ch);
				}
				
				//再继续读数据
				ch = fileReader.read();
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//3、在finall中关闭数据
			if(fileReader != null) {
				try {
					fileReader.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

具体写操作如下:

/*
    写操作三大步:
        1、使用文件输出流打开指定文件
        2、写入文件数据
        3、关闭写入流
*
public void test3() {
		FileWriter fileWriter = null;
		try {
			fileWriter = new FileWriter("写文件.txt");
			fileWriter.write('a');
			fileWriter.write('b');
			fileWriter.write('c');
			fileWriter.write('d');
			fileWriter.write('1');
			fileWriter.write('2');
			fileWriter.write('3');
			fileWriter.write(10);
			fileWriter.write(13);
			fileWriter.write('a');
			fileWriter.write('阿');
			fileWriter.write('吧');
			fileWriter.write('的');
			
		} catch (Exception e) {
			// TODO: handle exception
		}finally{
			if(fileWriter != null) {
				try {
					fileWriter.close();
				} catch (Exception e2) {
					// TODO: handle exception
					e2.printStackTrace();
				}
			}
		}
	}

正常写,直接按照上面的三大步就可以。但是在实际中,由于各种原因,会发生各种异常,比如文件找不到,流没有关闭等等,所以用异常处理机制来捕获异常。如果有对异常不太熟悉的,可以查看异常处理资料。

 

本文只是对IOl流的基本了解,掌握基本的文件读写操作,下篇会对文件读写升级。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗少说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值