IO流

博客介绍了IO流的特点,输入流和输出流是相对于内存设备而言,字符流是字节流加编码表。还阐述了字符流中Writer和Reader的操作,如FileWriter的创建、写入、刷新、关闭等,以及FileReader的创建和读取字符方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IO(Input Output)

一,特点

1,输入流和输出流相对于内存设备而言.

将外设中的数据读取到内存中:输入

将内存的数写入到外设中:输出

2,字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表。获取对应的文字。在对这个文字进行操作。简单说:字节流+编码表 

3,字节流的两个顶层父类:1,InputStream  2,OutputStream.

4,,字符流的两个顶层父类:1,Reader 2,Writer

 

二,字符流

1,writer

1)filewriter类

1,创建对象:FileWriter fw = new FileWriter("demo.txt",true);

既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。如果文件不存在,则会自动创建,如果文件存在,则会被覆盖。

2,write()

调用Writer对象中的write(string)方法,写入数据,其实数据写入到临时存储缓冲区中。

3,flush()

进行刷新,将数据直接写到目的地中

4,close()

关闭流,关闭资源。在关闭前会先调用flush刷新缓冲中的数据到目的地,

5,换行

System.getProperty("line.separator")

6,续写

如果构造函数中加入true,可以实现对文件进行续写

7,IO异常处理

public class IOExceptionDemo {

	private static final String LINE_SEPARATOR = System
			.getProperty("line.separator");

	public static void main(String[] args) {

		FileWriter fw = null;
		try {

			fw = new FileWriter("k:\\demo.txt");

			fw.write("abcde" + LINE_SEPARATOR + "hahaha");

		} catch (IOException e) {
			System.out.println(e.toString());
		} finally {
			if (fw != null)
				try {
					fw.close();
				} catch (IOException e) {
					// code....
					throw new RuntimeException("关闭失败");
				}
		}

	}

}

 

2,Reader

1)fileReader类

1,创建对象;FileReader fr = new FileReader("demo.txt")

在创建读取流对象时,必须要明确被读取的文件。一定要确定该文件是存在的,用一个读取流关联一个已存在文件

2,读取字符

int ch = 0;
while((ch=fr.read())!=-1){
	System.out.println((char)ch);
}

3,读取字符方法二

char[] buf = new char[1024];
int len = 0;
while((len=fr.read(buf))!=-1){
	System.out.println(new String(buf,0,len));
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值