Reader与Writer的IO操作
来源:互联网 发布:2016淘宝怎么刷单 编辑:程序博客网 时间:2024/05/30 23:02
Reader提供的一些方法:
public int read();读取单个字符
public int read(char[] cbuf);从流中读取字符并写入字符数组中
public int read(char[] cbuf,int off,int len);从流中读取字符并写入字符数组中(off 表示数组下标,len表示读取的字符数)
public long skip(long n);从输入流中最多向后跳n个字符
public boolean ready();判断流是否做好读的准备
public void reset();重定位输入流
public void close();关闭流
Writer提供的一些方法:
public void writer(int c);将单一字符输出到流中
public void writer(String str);将字符串str输出到流中
public void writer(char[] cbuf);将字符数组输出到流
public void write(char[] cbuf,int off,int len);将字符数组按指定的格式输出(off表示字符数组下标,len表示写入的字符数)到流中
public void flush();将缓冲区的数据写到文件中public void close();关闭流
一:
1.FileReader:文件字符输入流,继承自InputStreamReader类;而InputStreamReader又继承自Reader所以,这两个类均可使用Reader所提供的方法
构造方法:
public FileReader(String name) 根据文件名称创建一个可读取的输入流对象。
2.FileWriter:文件字符输出流,继承自OutputStreamWriter类,而OutputStreamWriter又继承自Writer所以,这两个类均可使用Writer所提供的方法;
构造方法:
public FileWriter(String name)根据所给文件名创建一个可供写入字符数据的输出流对象,原先的文件会被覆盖。
public FileWriter(String name,Boolean a)同上,如果a为true时,则会将数据追加在原先文件后面。
public int read();读取单个字符
public int read(char[] cbuf);从流中读取字符并写入字符数组中
public int read(char[] cbuf,int off,int len);从流中读取字符并写入字符数组中(off 表示数组下标,len表示读取的字符数)
readLine();读取一行字符串
public static void main(String[] args){ String path1 = "D:\\abc.txt"; String path2 = "D:\\abc2.txt"; FileReader reader = null; FileWriter writer = null; //读取文件操作 try { reader = new FileReader(path1); writer = new FileWriter(path2); //定义字符数组大小为1024 char[] c = new char[1024]; int ch = 0; //读取大小为c长度的内容,赋值给ch。当返回-1时,说明数据已经读完 while((ch = reader.read(c)) != -1){ System.out.print(new String(c)+"\n"); //写入,每次将c写入到指定文件,长度为c,起始偏移0 writer.write(c,0,ch); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { if(reader != null) reader.close(); if(writer != null) writer.close(); } catch (IOException e) { e.printStackTrace(); } }// //直接写入文件// try {// writer = new FileWriter(path2);// //直接将字符串写入// writer.write(new String("12312321"));// } catch (IOException e) {// e.printStackTrace();// }finally {// if(writer != null){// try {// writer.close();// } catch (IOException e) {// e.printStackTrace();// }// }// } }
结果:
控制台打印结果
本地文件及内容
二:
BufferedReader:缓冲字符输入流
构造方法:
public BufferedReader(Reader in);创建缓冲区字符输入流
public BufferedReader(Reader in,int size);创建缓冲区字符输入流,大小为size
一些重要的方法:
public int read();读取单个字符
public int read(char[] cbuf);从流中读取字符并写入字符数组中
public int read(char[] cbuf,int off,int len);从流中读取字符并写入字符数组中(off 表示数组下标,len表示读取的字符数)
public void skip(long n);跳过n个字符不读取
readLine();读取一行字符串
public void close();关闭流
BufferedWriter:缓冲字符输出流
public BufferedWriter(Writer in);创建缓冲区字符输入流
public BufferedWriter(Writer in,int size);创建缓冲区字符输入流,大小为size
一些重要的方法:
public void writer(int c);将单一字符写入缓冲区
public void write(char[] cbuf,int off,int len);将字符数组按指定的格式写入输出到缓冲区中(off表示字符数组下标,len表示写入的字符数)
public void writer(String str,int off,int len);写入字符串(off表示下标,len表示写入的字符数)
public void newLine();写入回车换行字符
public void flush();将缓冲区的数据写到文件中public void close();关闭流
public static void main(String[] args){ String path1 = "D:\\abc.txt"; String path2 = "D:\\abc2.txt"; BufferedReader reader = null; BufferedWriter writer = null; FileReader reader1 = null; FileWriter writer1 = null; try { reader1 = new FileReader(path1); writer1 = new FileWriter(path2); reader = new BufferedReader(reader1); writer = new BufferedWriter(writer1); String str = null; //BufferedReader比FileReader提供了readLine方法,每次读一行,省去了读一个字节/字符数组大小的麻烦 while((str = reader.readLine()) != null){ writer.write(str); writer.newLine(); //关于flush的问题,每次讲缓冲区的数据写入到文件中,如果不手动调用,那么每次缓冲区满了以后,会自动的写入一次。 writer.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { if(writer != null) writer.close(); if(reader != null) reader.close(); if(writer1 != null) writer1.close(); if(reader1 != null) reader1.close(); } catch (IOException e) { e.printStackTrace(); } }}
结果:
控制台打印结果
本地文件及文件内容
- Reader与Writer的IO操作
- VTK的Reader与Writer
- java IO操作与字节流(四)Writer与Reader实例
- IO之Reader Writer
- java IO Reader Writer
- IO file reader /writer
- Java IO - Reader&Writer
- JAVA 的IO操作(三) 字符输出流和输入流:Writer和Reader
- 黑马程序员_<<IO流基本操作(Writer,Reader)>>
- reader,writer与stream的区别
- Reader/Writer与InputStream/OutputStream的区别
- java io (四) Reader Writer
- Java IO reader and writer
- IO输入输出之Reader、Writer
- Java IO之Reader/Writer
- Java IO 字符流 Reader和Writer
- java-io初步:Reader、Writer、Buf…
- Java - IO - 字符流 - Writer - Reader
- TestNG官方文档中文版(4)-运行TestNG
- MFC创建一个线程
- logstash配置文件详解
- 修改windows系统文件权限
- loadrunner录制回放常见问题及解决办法
- Reader与Writer的IO操作
- http项目笔记(多线程版 微型http服务器)
- LR--Controller的Pacing设置(不容忽视的设置)
- passwd文件
- selenium + python自动化测试环境搭建
- 去除字符串中空格的方法(递推法)
- Jconsole远程监控tomcat 的JVM内存(linux、windows)
- 工作
- 【原创】SQLServer将数据导出为SQL脚本的方法