Java 字符缓冲输入与输出流

您所在的位置:网站首页 java的输出流 Java 字符缓冲输入与输出流

Java 字符缓冲输入与输出流

#Java 字符缓冲输入与输出流| 来源: 网络整理| 查看: 265

字符缓冲输入流

BufferedReader类主要从字符输入流中读取字符存入缓存区,在后面读取直接可以从缓冲区读取,不需要每次都从数据源读取并进行字符编码转换,从而提高了字符读取的效率,可以自己设置缓存区的大小,但默认的缓存区大小在大多数方面都足够。

构造方法:

BufferedReader(Reader in); 通过Reader对象创建一个默认缓冲区大小的字符缓冲输入流。BufferedReader(Reader in, int sz); 通过Reader对象创建一个指定缓冲区大小的字符缓冲流。

常用方法:

方法名说明int read()读取单个字符int read(char[] cbuf, int off, int len)读取一部分到数组中String readLine()读取一个文本行boolean ready()判断此流是否准备读取long skip(long n)跳过指定字符并返回跳过了多少个字符void close()关闭此流并释放所有系统资源void reset()将此流重置到最新的标记void mark(int readAheadLimit)标记此流的位置boolean markSupported()判断此流是否支持 mark() 操作(它一定支持) read(); 读取一个字符并返回int型,强制转换成char型输出。 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(file); br=new BufferedReader(fr); int a; while((a=br.read())!=-1) { System.out.print((char)a); } fr.close(); br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } int read(char[] cbuf, int off, int len); 读取len个字符存放到cbuf中,从off开始,每次输出到返回字符的个数。 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(file); br=new BufferedReader(fr); char[] c=new char[10]; int a; while((a=br.read(c,0,c.length))!=-1) { System.out.print(new String(c,0,a)); } fr.close(); br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } String readLine();每次可以读取一个文本行,返回这一行的字符串,读到行末就返回null,文本行中的换行符不读取,想要换行就要加上换行符。 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileReader fr=null; BufferedReader br=null; try { fr=new FileReader(file); br=new BufferedReader(fr); String str=""; while((str=br.readLine())!=null) { System.out.println(str); } fr.close(); br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 字符缓冲输出流

BufferedWriter类是字符缓冲输出流,它同样带有缓冲区,先将一批数据写入缓冲区,等存满之后一次性写入字符输出流中,也提高了数据德写入效率。

构造方法:

BufferedWriter(Writer out); 通过Writer对象创建一个默认缓冲区大小的字符输出缓冲流。BufferedWriter(Writer out, int sz); 通过Writer对象创建一个指定缓冲区大小的字符输出流。

常用方法:

方法名说明void write(int c)写入单个字符void write(char[] cbuf, int off, int len)写入字符数组的一部分到缓冲流中void write(String s, int off, int len)写入字符串的一部分到缓冲流中void newLine()写入一个行分割符void close()关闭此流以及系统缓存void flush()刷新此流 import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class dome2{ public static void main(String[] args){ File file=new File("D:/../...txt"); //创建file对象 FileWriter fw=null; BufferedWriter bw=null; try { fw=new FileWriter(file,true); bw=new BufferedWriter(fw); //写入一个字符 char c='你'; bw.write(c); //写入一个字符串 String str="你好,Java"; bw.write(str); //添加一个换行符 bw.newLine(); //写入一个字符数组 char[] ch=str.toCharArray(); bw.write(ch,0,ch.length); bw.close(); fw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3