IO流学习之字符流(二)
用字符流完成文档的复制:
测试文档:
代码1:
package InputOutput; import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class CopyFileDemo1 {
public static void main(String[] args) throws IOException {
// 指定读取的文件位置
String path1 = "E:\\JavaCodeDemo\\InputOutput\\filewriter\\CopyReader.txt";
// 指定写入的文件位置
String path2 = "E:\\JavaCodeDemo\\InputOutput\\filewriter\\CopyWriter.txt";
// 创建输入流对象关联数据源文件
FileReader reader = new FileReader(path1);
// 创建输出流对象关联目的地文件
FileWriter writer = new FileWriter(path2);
// 读取文件
int flag = 0;
// 获取复制前时间
long time1 = System.currentTimeMillis();
while ((flag = reader.read()) != -1) {
writer.write(flag);
}
// 获取复制后时间
long time2 = System.currentTimeMillis();
// 释放资源
writer.close();
reader.close();
// 输出时间差
System.out.println("时间 : " + (time2 - time1));
}
}
结果:
上面代码使用字符流一个字符一个字符的读取,写入,下面尝试用字符数组进行复制文档,数据少时没有什么区别,但数据多了可以提高很多效率!
代码:
package InputOutput; import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class CopyFileDemo2 {
public static void main(String[] args) throws IOException {
// 指定读取的文件位置
String path1 = "E:\\JavaCodeDemo\\InputOutput\\filewriter\\CopyReader.txt";
// 指定写入的文件位置
String path2 = "E:\\JavaCodeDemo\\InputOutput\\filewriter\\CopyWriter.txt";
// 创建输入流对象关联数据源文件
FileReader reader = new FileReader(path1);
// 创建输出流对象关联目的地文件
FileWriter writer = new FileWriter(path2);
// 读取文件
int flag = 0;
// 用字符组读取数据
char[] demo = new char[1024];
// 获取复制前时间
long time1 = System.currentTimeMillis();
while ((flag = reader.read(demo)) != -1) {
writer.write(demo, 0, flag);
}
// 获取复制后时间
long time2 = System.currentTimeMillis();
// 释放资源
writer.close();
reader.close();
// 输出时间差
System.out.println("时间 : " + (time2 - time1)); }
}
结果:
IO流学习之字符流(二)的更多相关文章
- IO流学习之字符流(三)
IO流之字符流缓冲区: 概念: 流中的缓冲区:是先把程序需要操作的数据保存在内存中,然后我们的程序读写数据的时候,不直接和持久设备之间交互,而改成和内存中的数据进行交互. 缓冲区:它就是临时存储数据, ...
- IO流学习之字符流(一)
IO流(Input/Output) 简介: 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数 ...
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...
- Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
第一讲 IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都 ...
- java基础46 IO流技术(输出字符流/缓冲输出字符流)
一.输出字符流 1.1.输出字符流体系 --------| Writer:输出字符流的基类(抽象类) ----------| FileWriter:向文件输出数据输出字符流(把程序中的数据写到硬盘中 ...
- java IO的字节流和字符流及其区别
1. 字节流和字符流的概念 1.1 字节流继承于InputStream OutputStream, 1.2 字符流继承于InputStreamReader OutputStre ...
- javaio学习笔记-字符流类(1)
1.java.io包中的字符流类-BufferedReader和BufferedWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; In ...
- javaio学习笔记-字符流类(2)
1.java.io包中的字符流类-FileReader和FileWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; FileReader ...
- java学习之字符流与字节流的转换
package com.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce ...
随机推荐
- Go语言实现:【剑指offer】数组中的逆序对
该题目来源于牛客网<剑指offer>专题. 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对10000 ...
- 如何查看MySql的sql语句性能
原文链接:https://blog.csdn.net/jwq101666/article/details/78561022Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通 ...
- U盘模式无法引导进入pe系统
有些笔记本.一体机 特别是win8.win10系统维护时需要 通过u盘进入pe系统,就是进不去,需要到bios中更改一下设置. 1.首先我们将已经使用u启动u盘启动盘制作 ...
- Spring——自动装配(@Autowired/@Profile/底层组件)
本文介绍Spring中关于自动装配的方法和规则,以及@Profile动态激活的用法和一个例子. 一.@Autowired自动装配 @Autowired注解可以加在构造器.属性.方法.方法参数上. 自动 ...
- 在Ubuntu上部署一个基于webrtc的多人视频聊天服务
最近研究webrtc视频直播技术,网上找了些教程最终都不太能顺利跑起来的,可能是文章写的比较老,使用的一些开源组件已经更新了,有些配置已经不太一样了,所以按照以前的步骤会有问题.折腾了一阵终于跑起来了 ...
- 珠峰-架构6-es6
let aa = ; { console.log(aa); } // ----- let aa = ; { console.log(aa); // 报错 aa is not defined let a ...
- python3-cookbook笔记:第十章 模块与包
python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...
- const与指针、引用
const与指针类型 定义一个指针*p: const int* p = NULL; int const* p = NULL; int* const p = NULL; 上面两行定义完全等价,第三行则不 ...
- python+selenium自动化测试,浏览器最大化报错解决方法
此处以谷歌浏览器为例 [问题1]缺少chrome驱动,webdriver调用谷歌浏览器的时候就报错了,如下图: [原因分析]缺少谷歌驱动程序 [解决办法] 1.查看本地安装chrome浏览器版本 2. ...
- 【STM32H7教程】第46章 STM32H7的ADC应用之DMA方式多通道采样
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第46章 STM32H7的ADC应用之DMA方式多 ...