JAVA学习日记Day2——

缓冲流

BufferedReader和BufferedWriter的源和目的地是字符输入流和字符输出流,可以调用readLine方法读取文件中的一行数据。如下

FileReader input = new FileReader("Test.txt");
BufferedReader input1 = new BufferedReader(input);
String str = input1.readLine();//调用readLine方法读取Test.txt中的一行数据

#####BufferedReader和BufferedWriter称作上层流,它们指向的字符流称作底层流。当需要关闭流的时候只需要关闭上层流,上层流的地层流会自动关闭。

随机流

RandomAccessFile 随机流,它创建的流既可以读也可以写。

两种构造函数

RandomAccessFile(String name,String mode);//mode取r为只读,取rw为可读写
RandomAccessFile(File file,String mode);//指向文件时,不刷新文件

常用方法

cloes()——关闭文件                                   getFilePointer()——获取当前读写的位置

length()——获取文件长度                           read()——从文件中读取一个字节的数据

readBoolean()——读取一个布尔值             readByte()——从文件中读取一个字节【同理还有readChar、readFloat等等】

readLine()——读取一个文本行                    seek(long position)——定位读写位置

setLength(long length)——设置文件长度      还有与read对应的write方法

#####随机流的readLine方法读取含有非ASCII字符的文件时(比如文件中有汉字)可能会出现乱码,需要用"iso-8859-1"编码重新编码存放。如下

		FileReader file = new FileReader("Hello.txt");
		BufferedReader in = new BufferedReader(file);
          String str = in.readLine();//用readLine读取一行数据
          byte[] b = str.getBytes("iso-8859-1");//用ios-8869-1重新编码
          String content = new String(b);//将字节数组转化为字符数组

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值