java filereader 用法_第2章 FileReader类使用

1.1 FileReader读数据一次读取一个字符

1.1.1 案例代码五:

package com.itheima_02;

import java.io.FileReader;

import java.io.IOException;

/*

* 需求:从文件中读数据并显示到控制台

* 读数据--输入流--FileReader

*

* FileReader:

* FileReader(String fileName):传递文件名称

*

* 输入流读文件的步骤:

* A:创建输入流对象

* B:调用输入流对象的读数据方法

* C:释放资源

*

* java.io.FileNotFoundException: fr.txt (系统找不到指定的文件。)

*/

public class FileReaderDemo {

public static void main(String[] args) throws IOException {

//创建输入流对象

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

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

//调用输入流对象的读数据方法

//int read():一次读取一个字符

/*

//第一次读数据

int ch = fr.read();

System.out.println(ch);

System.out.println((char)ch);

//第二次读数据

ch = fr.read();

System.out.println(ch);

System.out.println((char)ch);

//第三次读数据

ch = fr.read();

System.out.println(ch);

System.out.println((char)ch);

//这是时候,我们发现代码的重复度很高,想用循环改进,但是不知道循环的结束条件是什么

ch = fr.read();

System.out.println(ch);

ch = fr.read();

System.out.println(ch);

//通过测试,我们知道,如果读取数据的返回值是-1的时候,就说明没有数据了,这也是我们循环的结束条件

*/

int ch;

//1:fr.read()

//2:ch=fr.read()

//3:ch != -1

while((ch=fr.read())!=-1) {

//System.out.println(ch);

//System.out.println((char)ch);

System.out.print((char)ch);

}

//释放资源

fr.close();

}

}

1.2 利用FileReader和FileWriter完成文件复制

1.2.1 读一次写一次

1.2.1.1 案例代码六:

package com.itheima_03;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

/*

需求:

把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中

文件复制也是有规律可循的,也就是说有套路。

数据源:

FileWriterDemo.java -- 读数据 -- FileReader

目的地:

Copy.java -- 写数据 -- FileWriter

*/

public class CopyFileDemo {

public static void main(String[] args) throws IOException {

//创建输入流对象

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

//创建输出流对象

FileWriter fw = new FileWriter("Copy.java");

//读写数据

int ch;

while((ch=fr.read())!=-1) {

fw.write(ch);

}

//释放资源

fw.close();

fr.close();

}

}

1.2.2 利用字符数组拷贝文件

1.2.2.1 案例代码七:

package com.itheima_03;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

/*

* 需求:

* 把项目路径下的FileWriterDemo.java中的内容复制到项目路径下的Copy.java中

*

* 数据源:

* FileWriterDemo.java -- 读数据 -- FileReader

* 目的地:

* Copy.java -- 写数据 -- FileWriter

*/

public class CopyFileDemo2 {

public static void main(String[] args) throws IOException {

//创建输入流对象

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

//创建输出流对象

FileWriter fw = new FileWriter("Copy.java");

//读写数据

char[] chs = new char[1024];

int len;

while((len=fr.read(chs))!=-1) {

fw.write(chs, 0, len);

}

//释放资源

fw.close();

fr.close();

}

}

1.2.3 拷贝文件的两种方式图解

4d5f1271f3fd2bc96564f63fbb65453c.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java2实用教程 rar 第1Java入门 1 1Java的诞生 1 2Java的特点 1 3安装Sun公司的SDK 1 4一个Java程序的开发过程 1 5一个简单的Java应用程序的开发过程 1 6一个简单的Java小应用程序 1 7什么是JSP 习题 第2标识符 关键字和数据型 2 1标识符和关键字 2 2Java的基本数据型 2 3Java的数组 习题 第3运算符 表达式和语句 3 1运算符与表达式 3 2语句概述 3 3控制语句 3 4 循环语句 3 5break和continue语句 习题 第4 对象和接口 4 1编程语言的几个发展阶段 4 1 1机器语言 4 1 2过程语言 4 1 3面向对象编程 4 2 4 2 1声明 4 2 2体 4 2 3成员变量和局部变量 4 2 4方法 4 2 5方法重载 4 2 6构造方法 4 2 7方法和实例方法 4 2 8值得注意的问题 4 3对象 4 3 1创建对象 4 3 2使用对象 4 3 3于象的引用和实体 4 3 4参数传值 4 4static关键字 4 4 1实例变量和变量的区别 4 4 2实例方法和方法的区别 4 5this关键字 4 6包 4 6 1包语句 4 6 2import语句 4 6 3将打包 4 7访问权限 4 7 1私有变量和私有方法 4 7 2共有变量和共有方法 4 7 3友好变量和友好方法 4 7 4受保护的成员变量和方法 4 7 5public与友好 4 8的继承 4 8 1子 4 8 2子的继承性 4 8 3成员变量的隐藏和方法的重写 4 8 4final关键字 4 9对象的上转型对象 4 10多态性 4 11abstract和abstract方法 4 12super关键字 4 13接口 4 13 1接口的声明与使用 4 13 2理解接口 4 13 3接口回调 4 13 4接口做参数 4 14内部 4 15匿名 4 15 1和有关的匿名 4 15 2和接口有关的匿名 4 16异常 4 16 1try catch语句 4 16 2自定义异常 4 17Class 4 17 1获取的有关信息 4 17 2使用Class实例化一个对象 4 18基本型的包装 4 18 1Double和Float 4 18 2Byte Integer Short 工 ong 4 18 3Character 4 19反编译和文档生成器 4 20JAR文件 4 20 1将应用程序压缩为JAR文件 4 20 2将压缩成JAR文件 4 20 3更新 查看JAR文件 习题 第5字符串 5 1字符串 5 2字符串的常用方法 5 3字符串与基本数据的相互转化 5 4对象的字符串表示 5 5StringTokenizer 5 6字符串与字符 字节数组 5 7StringBuffer 5 8正则表达式 习题 第6时间 日期和数字 6 1Date 6 2Calendar 6 3Math 6 4BigInteger 习题 第7AWT组件及事件处理 7 1Java窗口 7 1 1 Frame常用方法 7 1 2菜单条 菜单 菜单项 7 1 3窗口与屏幕 7 2文本框 7 2 1TextField的主要方法 7 2 2文本框上的ActionEvent事件 7 3内部实例做监视器 7 4按钮与标签 7 4 1标签组件 7 4 2按钮组件 7 5菜单项 7 6文本区 7 6 1TextArea主要方法 7 6 2文本区上的TextEvent事件 7 7面板 7 7 1Panel 7 7 2ScrollPane 7 8布局 7 8 1FlowLayout布局 7 8 2BorderLayout布局 7 8 3CardLayout布局 7 8 4GridLayout布局 7 8 5BoxLayout布局 7 8 6null布局 7 9画布 7 10选择型组件 7 10 1选择框 7 10 2下拉列表 7 10 3滚动列表 7 11Component的常用方法 7 12窗口事件 7 13鼠标事件 7 14焦点事件 7 15键盘事件 7 16使用剪贴板 7 17打印 7 18综合实例 习题 第8建立对话框 8 1Dialog 8 2文件对话框 8 3消息对话框 8 4确认对话框 8 5颜色对话框 习题 第9Java多线程机制 9 1Java中的线程 9 2Thread的子创建线程 9 3使用Runnable接口 9 4线程的常用方法 9 5GUI线程 9 6线程同步 9 7在同步方法中使用wait notif 和nodf3 All 方法 9 8挂起 恢复和终止线程 9 9计时器线程Timer 9 10线程联合 9 11守护线程 习题 第10输入输出流 10 1File 10 2FileInputStream 10 3FileOutputStream 10 4FileReader和FileWriter 10 5使用文件对话框打开和保存文件 10 6RandornAccessFile 10 7数据流 10 8数组流 10 9对象流 10 10序列化与对象克隆 10 11文件锁FileLock 10 12Process中的流 10 13带进度条的输入流 习题 第11Java网络的基本知识 11 1使用URL 11 2读取URL中的资源 11 3显示URL资源中的HTML文件 11 4处理超链接 11 5InetAdress 11 6套接字 11 7网络中的数据压缩与传输 11 8UDP数据报 11 9广播数据报 习题 第12JavaApplet基础 12 1JavaApplet的运行原理 12 2网页向JavaApplet传值 12 3JavaApplet扣使用URL 12 4JavaApplet中建立新线程 12 5JavaApplet中使用套接字 习题 第13常见数据结构的Java实现 13 1链表 13 2栈 13 3树集 13 4树映射 13 5散列集 13 6散列表 13 7向量 习题 第14图形与图像 14 1绘制文本 14 2绘制基本图形 14 3建立字体 14 4清除 14 5Java2D 14 6图形的布尔运算 14 7绘制钟表 14 8绘制图像 14 9制作JPG图像 14 10XOR绘图模式 14 11打印图形 图像 习题 第15Java数据库连接 JDBC 15 1创建数据源 15 2JDBC ODBC桥接器 l5 3顺序查询 15 4可滚动结果集 15 5排序查询 15 6模糊查询 15 7随机查询 15 8更新 添加 删除记录 l5 9预处理语句 15 10数据库访问中的套接字技术 习题 第16Java与多媒体 16 1在小程序中播放音频 16 2在另一个线程中创建音频对象 16 3在应用程序中播放音频 16 4Java媒体框架 JMF 习题 第17JavaSwing基础 17 1几个重要的 17 2中间容器 17 3各种组件 习题">Java2实用教程 rar 第1Java入门 1 1Java的诞生 1 2Java的特点 1 3安装Sun公司的SDK 1 4一个Java程序的开发过程 1 5一个简单的Java应用程序的开发过程 1 6一个简单的Java小应用程序 1 7什么是JSP 习题 第2标识符 关键字和数据型 2 1标识 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值