-------------siwuxie095

 
 

 
 

 
 

 
 

 
 

 
 

工程名:TestFileRW

包名:com.siwuxie095.filerw

类名:FileReaderWriter.java

 
 

 
 

打开资源管理器,在工程 TestFileRW 文件夹下,放入

一个文本:java.txt

 
 

java.txt 的内容:

 
 

 

 
 

 
 

工程结构目录如下:

 
 

 
 

 
 

 
 

 
 

 
 

代码:

 
 

package com.siwuxie095.filerw;

 
 

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

 
 

public class FileReaderWriter {

 
 

/**

* 使用 FileReader 与 FileWriter 读写数据

*

* 字节流和字符流
不仅可以读写文件数据,还可以操作网络数据、

* 获取系统的输入输出

*

* 而 FileReader 和 FileWriter 是专门操作文件的API

*

* 获取的 Reader 和 Writer 对象,可以直接读取或写入,

* 也可以进一步包装成带缓冲的 Reader 和 Writer

*

* @param args

*/

public static
void main(String[] args) {

 

try {

 

 

//创建一个 FileReader,会有异常抛出,使用 try catch 捕获

//FileReader 用于读取以字符为基准的文件,用来读取文件的文本数据

FileReader fr=new FileReader("java.txt");

//FileReader 的 read() 方法和 InputStreamReader 相同,

//所以可以将 FileReader 包装成一个 BufferedReader

BufferedReader br=new BufferedReader(fr);

 

 

//写出时使用 FileWriter,其 write()方法和OutputStreamWriter相同

//所以同样可以包装成带缓冲的Writer

FileWriter fw=new FileWriter("java_new.txt");

BufferedWriter bw=new BufferedWriter(fw);

 

 

String line;

while ((line=br.readLine())!=null) {

//readLine()的返回值丢失了换行符,需要手动加上

//或
使用 PrintWriter 替代 BufferedWriter

bw.write(line+"\n");

}

 

//在流关闭之前,需要将BufferedWriter强制输出,

//将缓冲输出流 flush 掉

bw.flush();

 

 

//写出后,关闭流

bw.close();

fw.close();

br.close();

fr.close();

System.out.println("done");

 

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

 
 

}

 
 

 
 

运行一览:

 
 

 
 

 
 

 
 

java_new.txt:

 
 

 
 

 
 

 
 

运行后,工程结构目录一览:

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

使用FileReader与FileWriter读写数据的更多相关文章

  1. mac下CSV文件用FileReader、FileWriter读写乱码

      先说下windows的excel文件搬到mac下打开为什么会显示乱码.    在win下,excel采用GBK编码,1个汉字是存为2个字节,而mac下各种软件广泛默认使用UTF-8编码方式,如在e ...

  2. java FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字就乱码.记录下,后面找到解决方法再补上. public static void main(String[] args ...

  3. java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr

    BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWri ...

  4. (19)IO流之字符流FileReader和FileWriter,缓冲字符流---缓冲输入字符流BufferedReader和缓冲输出字符流BufferedWriter

    字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流: ...

  5. FileReader和FileWriter

    FileReader和FileWriter 使用fileoutputstream类向文件写入数据与使用fileinputstream类从文件中将内容读取出来,存在不足,就是中文占两个字节, 搞不好就会 ...

  6. Java-IO之FileReader和FileWriter

    FileReader是用于读取字符流的类,它继承于InputStreamReader,要读取原始字节流,考虑使用FileInputStream:FileWriter是用于写入字符流的类,继承于Outp ...

  7. java io系列22之 FileReader和FileWriter

    FileReader 是用于读取字符流的类,它继承于InputStreamReader.要读取原始字节流,请考虑使用 FileInputStream.FileWriter 是用于写入字符流的类,它继承 ...

  8. J04-Java IO流总结四 《 FileReader和FileWriter 》

    FileReader和FileWriter的源码相对简单,下面通过分析它们的源码以更好地进行理解这两个流 1. FileReader FileReader实现了读取底层的字节数据并将其转换为字符数据的 ...

  9. FileReader与FileWriter

    分别继承于InputStreamReader   OutputStreamWriter 所以: FileReader:new FileReader(“d:/back/string.txt”) =    ...

随机推荐

  1. 你必须知道的495个C语言问题,学习体会四

    本文,我们来学习下指针,这是个梦魇啊.无数次折磨着C语言学习者,无数次的内存泄露,无数次的访问失败,无数次的越界溢出, 这些错误造就的仅仅是一个 跟随者,真正的优秀者必须要正视语言的局限,同时在最大限 ...

  2. 在ubuntu16.04上安装php7 mysql5.7 nginx1.10并支持http2

    安装nginx 首先更新软件包 并且安装nginx sudo apt-get update sudo apt-get install nginx 开放防火墙配置 sudo ufw allow 'Ngi ...

  3. (一)mvc与mvvm设计模式

    前沿:了解设计模式对我们而言,具有很大意义,对语言没有限制,它适用于任何语言,是一种变成思想.设计模式最初有四人帮提出,有兴趣的同学可以去了解下,今天给大家主要分析mvc与mvvm设计模式 一.mvc ...

  4. my vim IDE 编辑器的配置

    <h4>1.自定义编辑.vimrc的快捷键</h4><blockquote>"Set mapleaderlet mapleader = ",&q ...

  5. c 可变参数(variable argument)的原理及使用

    本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实现和封装,最后是可能会出现的问题和避免措施. VA函数(variable argument function),参数个数可变函数 ...

  6. latch的产生和消除

    一直都知道fpga中有latch这么一回事,但是一直都不太清楚到底什么是锁存器,它是怎么产生的,它到底和寄存器有多少区别,它怎么消除.为什么说他不好? 一,是什么 锁存器是一种在异步时序电路系统中,对 ...

  7. ACM学习历程—TopCoder SRM691 Div2

    这是我的第一次打TC,感觉打的一般般吧.不过TC的题目确实挺有意思的. 由于是用客户端打的,所以就不发题目地址了. 300分的题: 这题大意是有一段序列只包含+和数字0~9. 一段序列的操作是,从头扫 ...

  8. egg 使用手记(一)

    1. 文件加载规则 引用官方的说法: 框架在加载文件时会进行转换,因为文件命名风格和 API 风格存在差异.我们推荐文件使用下划线,而 API 使用驼峰.比如 app/service/user_inf ...

  9. Spring AOP声明式事务异常回滚

    近日测试用例,发现这样一个现象:在业务代码中,有如下两种情况,比如:throw new RuntimeException("xxxxxxxxxxxx"); 事物回滚throw ne ...

  10. oracle之 oradebug 命令用法

    0> oradebug使用步骤 1)启动sql*plus并以sysdba身份登入 2)连接到一个进程 3)设置一个事件或者进行诊断转储 4)检索trc文件名 5)与连接到的进程断开 1> ...