文件流的使用

昨天我们讲了缓冲流的使用,各位童鞋们学会了没有,今天我们再来说一下文件流的使用,如果有童鞋有什么不明白的地方,欢迎在下方留言哦。

FileReader读取文件

FileReader类从InputStreamReader类继承而来。该类按字符读取流中数据。可以通过以下几种构造方法创建需要的对象。

在给定从中读取数据的 File 的情况下创建一个新 FileReader。

FileReader(File file)
在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。

FileReader(FileDescriptor fd)
在给定从中读取数据的文件名的情况下创建一个新 FileReader。

FileReader(String fileName)

创建FIleReader对象成功后,可以参照以下的方法操作文件。
  • public int read() throws IOException
    读取单个字符,返回一个int型变量代表读取到的字符
  • public int read(char [] c, int offset, int len)
    读取字符到c数组,返回读取到字符的个数
实例
 import java.io.*;
public class Test{
public static void main(String args[]) throws IOException {
    File file = new File("Demo1.txt");
    // 创建文件
    file.createNewFile();
    // creates a FileWriter Object
    FileWriter writer = new FileWriter(file);
    // 向文件写入内容
    writer.write("i\love\you");
    writer.flush();
    writer.close();
    // 创建 FileReader 对象
    FileReader fr = new FileReader(file);
    char[] a = new char[50];
    fr.read(a); // 读取数组中的内容
    for (char c : a)
        System.out.print(c); // 一个一个打印字符
    fr.close();
}

}

FileWriter写入

FileWriter 类从 OutputStreamWriter 类继承而来。该类按字符向流中写入数据。可以通过以下几种构造方法创建需要的对象。

在给出 File 对象的情况下构造一个 FileWriter 对象。

FileWriter(File file)
在给出 File 对象的情况下构造一个 FileWriter 对象。

FileWriter(File file, boolean append)
构造与某个文件描述符相关联的 FileWriter 对象。

FileWriter(FileDescriptor fd)
在给出文件名的情况下构造 FileWriter 对象,它具有指示是否挂起写入数据的 boolean 值。

FileWriter(String fileName, boolean append)
创建FileWriter对象成功后,可以参照以下的方法操作文件。

  • public void write(int c) throws IOException
    写入单个字符c。
  • public void write(char [] c, int offset, int len)
    写入字符数组中开始为offset长度为len的某一部分。
  • public void write(String s, int offset, int len)
    写入字符串中开始为offset长度为len的某一部分。
实例
import java.io.*;
public classTest {
public static void main(String args[]) throws IOException {
    File file = new File("Demo.txt");
    // 创建文件
    file.createNewFile();
    // creates a FileWriter Object
    FileWriter writer = new FileWriter(file);
    // 向文件写入内容
    writer.write("haha\xixi");
    writer.flush();
    writer.close();
    // 创建 FileReader 对象
    FileReader fr = new FileReader(file);
    char[] a = new char[50];
    fr.read(a); // 从数组中读取内容
    for (char c : a)
        System.out.print(c); // 一个个打印字符
    fr.close();
}

以上就是FileReader和FileWriter的一个简单的使用了。是不是又学到了?每天一章,每次都有新收获。学习就是一个坚持的过程。如果有什么不会的,或者还有想知道的欢迎大家在下方留言或者加入我的技术探讨群来与我交流。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容

  • 概述 java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。java.io ...
    Steven1997阅读 9,190评论 1 25
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,378评论 0 4
  • 五、IO流 1、IO流概述 (1)用来处理设备(硬盘,控制台,内存)间的数据。(2)java中对数据的操作都是通过...
    佘大将军阅读 507评论 0 0
  • 懵懂时期进入了这个家庭,或许从未有过会感到幸福,可她觉得无力麻木。 从小她就是爸爸的宝贝,没错她只是爸爸的宝贝。妈...
    婧萱只水眠阅读 138评论 0 0
  • Javascript高级程序设计(第2版) 6.1创建对象 阅读整理 最简单方式,创建一个object的实例,然后...
    RK_CODER阅读 328评论 0 2