Java中的IO操作 字符流:FileReader和 FileWriter

FileReader和 FileWriter  读写字符串

 1 package object.io;
 2
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.FileReader;
 6 import java.io.FileWriter;
 7 import java.io.IOException;
 8
 9 public class FileWrite {
10
11     public static void main(String[] args) throws IOException {
12         // TODO Auto-generated method stub
13         FileReader reader=new FileReader("D:\\Program Files (x86)\\io\\fileWriter.txt");
14         BufferedReader bReader=new BufferedReader(reader);
15         FileWriter writer=new FileWriter("D:\\Program Files (x86)\\io\\fileWriter2.txt");
16         BufferedWriter bWriter=new BufferedWriter(writer);
17         String content="";
18         //readLine一行一行的读取
19         while((content=bReader.readLine())!=null){
20             //\r\n换行
21             bWriter.write(content+"\r\n");
22         }
23         /**
24          * 关闭流的顺序:
25          *     当A依赖B的时候先关闭A,再关闭B
26          *     带缓冲的流最后关闭的时候会执行一次flush
27          */
28         reader.close();
29         bReader.close();
30         bWriter.close();
31         writer.close();
32
33     }
34
35 }

  操作结果:

  

 

练习:

 1 package object.io;
 2
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.FileNotFoundException;
 6 import java.io.FileReader;
 7 import java.io.FileWriter;
 8 import java.io.IOException;
 9
10 public class FileWrite2 {
11
12     public static void main(String[] args) throws IOException {
13         // TODO Auto-generated method stub
14         FileReader reader=new FileReader("D:\\Program Files (x86)\\io\\fileWriter11.txt");
15         BufferedReader bReader=new BufferedReader(reader);
16         FileWriter writer=new FileWriter("D:\\Program Files (x86)\\io\\fileWriter22.txt");
17         BufferedWriter bWriter=new BufferedWriter(writer);
18         String content="";
19         while((content=bReader.readLine())!=null){
20             if(content.contains("{title}")){
21                 content=content.replace("{title}", "放假");
22             }
23             if(content.contains("{description}")){
24                 content=content.replace("{description}", "元旦放假三天");
25             }
26             bWriter.write(content+"\r\n");
27         }
28         /**
29          * 关闭流的顺序:
30          *     当A依赖B的时候先关闭A,再关闭B
31          *     带缓冲的流最后关闭的时候会执行一次flush
32          */
33         reader.close();
34         bReader.close();
35         bWriter.close();
36         writer.close();
37
38     }
39
40 }

结果:

原文地址:https://www.cnblogs.com/ztt0918/p/8117120.html

时间: 2024-10-10 22:09:47

Java中的IO操作 字符流:FileReader和 FileWriter的相关文章

【Java】IO流--文件字符流--FileReader、FileWriter

FileReader 作用:用于读取字符流 构造方法: FileReader(File file) 创建一个新的 FileReader ,给出 File读取. FileReader(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称. 常用方法: 1)int read();2)int read(char[] cbuf)3)int read(char[] cbuf,int off,int len);4) int available();5)close()

java学习系列(一)Java中的IO操作

Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入\输出操作,在Java中把不同的输入\输出源抽象为"流",通过流的方式允许Java程序使用相同的方式来访问不同的输入/输出源.stream是从起源(source)到接收(sink)的有序数据. Java把所有传统的流类型(类或抽象类)都放在java.io包中,用以实现输入\输出功能. JavaAPI 1.6中java.io包 1.子节流  * 输入字节流 * -------------|InputStream 所有输入字

Java中的IO操作(一)

一.Java IO简介 IO也写作"I/O",可理解为In和Out,即输入与输出.所以,IO体系的基本功能就是:读取和写入. IO的核心是IO流,作用:读写设备上的数据,硬盘文件.内存.键盘.网络... 分类: 根据数据的走向,IO流可分为:输入流和输出流: 根据处理的数据类型,IO流可分为:字节流和字符流: 字节流和字符流的区别: 字节流可以处理所有类型的数据,如MP3.图片.文字.视频等.在读取时,读到一个字节就返回一个字节. 在Java中对应的类都是以"Stream&q

文本数据IO操作--字符流

一.Reader和Writer 1. 字符流原理 Reader是所有字符输入流的父类而Writer是所有字符输出流的父类.字符流是以字符(char)为单位读写数据的.一次处理一个unicode.字符流都是高级流,其底层都是依靠字节流进行读写数据的,所以底层仍然是基于字节读写数据的.2. 常用方法 Reader的常用方法:int read()读取一个字符,返回的int”值低16”位有效. 其实返回的是char 若返回的是-1 则读取到末尾 int read(char[] chs)从该流中读取一个字

Java中字节流如何转字符流,OutputStreamWriter用法

OutputStreamWriter 将字节流转换为字符流.是字节流通向字符流的桥梁.如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:UTF-8: 步骤: 1.创建流 子类对象  绑定数据目的. 1 FileOutputStream fos = new FileOutputStream("c:\\utf.txt"); 2.将字节转为字符,并声明utf-8格式(万国码). 1 OutputStreamWriter sow = new OutputStreamWriter(f

整理 JAVA中的IO流 (字符流和字节流两个大类)

java中的io流分为两类,字符和字节: OutputStream和InputStream字节流的父类,抽象.OutputStream有两个提供了实现的接口closable和flushable. Writer和Reader字符流的父类,抽象.实际上在流的操作中,底层与文件进行读写的都是字节流,因为即使是字符流的对象,其最终实现读写的也是用的字节流. 操作文件的字节子类FileOutputStream和FileInputStream.记住,这里面写出和读入的都是字节. class useByteS

Java中的IO流

Java中的IO流是实现输入/输出的基础. 按照流的方向不同:分为输入流和输出流. 按照处理数据单位的不同:分为字节流(8位)和字符流(16位). 按照功能不同:分为节点流和处理流 所有面向字节的流类都继承于InputStream类(输入流) 或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能. InputStream.OutputStream都是抽象类 InputStream抽象了应用程序读取数据的方式 OutputStream抽象类应用程序写出数据

JAVA 中的IO流

Java中的IO流是用来处理设备与设备之前的数据传输,在java中以流的形式传输.流分为两类:字节流和字符流. 字节流:InputStream,OutPutSteam.(计算机内的数据都是以字节存储的,字节流可以操作任意数据) 字符流:Reader,Writer.(字符流只能操作字符,但是在实际应用中字符流比较方便) 从操作来看又可以分为:输入流和输出流. 在进行IO流操作的时候分为以下几步:1.导入IO流的包,2.进行IO流的异常处理,3.关闭IO流释放资源. 字节流 ————————————

Java中的IO流体系

Java为我们提供了多种多样的IO流,我们可以根据不同的功能及性能要求挑选合适的IO流,如图10-7所示,为Java中IO流类的体系. 注:这里只列出常用的类,详情可以参考JDK API文档.粗体标注为常用! 图10-7 Java中的IO流体系 从上图发现,很多流都是成对出现的,比如:FileInputStream/FileOutputStream,显然是对文件做输入和输出操作的.我们下面简单做个总结: 1. InputStream/OutputStream 字节流的抽象类. 2. Reader