java io 缓冲流_记忆系列-Java IO的缓存输入输出流(高效流)
2019-09-02今天是周一,应该是学校升国旗开学典礼的一天吧~
然而垃圾的我还是没有找到工作,大专狗是真的没用~简历也不会看你的呀~
在之前我自己也mark了字节和字符的流,但是呢读取数据量比较大时,速度是8是会有点慢?影响到你郭良俊自己的脾气呢?
好了~那就在内存/不怕被坑情况下自己弄一下呗~好了马记录起~
缓冲流,根据流的分类:字节缓冲流和字符缓冲流。目的可能提高IO流的读写速度,至于利弊嘛-->出门右拐-->百度/谷歌走起~
字节缓冲流:BufferedInputStream、BufferedOutputStream
字符缓冲流:BufferedReader、BufferedWriter
它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度,做到缓存的作用~
字节缓冲流例子
String destFile = "D:"+File.separator+"destfile.txt";
String lineSeparator = System.getProperty("line.separator");
//字节缓冲输出流
try(FileOutputStream fos = new FileOutputStream(destFile,true);
BufferedOutputStream bos = new BufferedOutputStream(fos)) {
bos.write(lineSeparator.getBytes());
bos.write("hello FileOutputStream".getBytes());
//使用try-with-resources优雅关闭资源(https://199604.com/1241)
//bos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//字节缓冲输入流
try {
FileInputStream fis = new FileInputStream(destFile);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[1024];
int len = -1;
while ((len = bis.read(buffer))!=-1){
System.out.println(new String(buffer,0,len));
}
fis.close();
bis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e1){
e1.printStackTrace();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
StringdestFile="D:"+File.separator+"destfile.txt";
StringlineSeparator=System.getProperty("line.separator");
//字节缓冲输出流
try(FileOutputStreamfos=newFileOutputStream(destFile,true);
BufferedOutputStreambos=newBufferedOutputStream(fos)){
bos.write(lineSeparator.getBytes());
bos.write("hello FileOutputStream".getBytes());
//使用try-with-resources优雅关闭资源(https://199604.com/1241)
//bos.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
//字节缓冲输入流
try{
FileInputStreamfis=newFileInputStream(destFile);
BufferedInputStreambis=newBufferedInputStream(fis);
byte[]buffer=newbyte[1024];
intlen=-1;
while((len=bis.read(buffer))!=-1){
System.out.println(newString(buffer,0,len));
}
fis.close();
bis.close();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione1){
e1.printStackTrace();
}
字符缓冲流例子
tring destFile = "D:"+File.separator+"destfile.txt";
String lineSeparator = System.getProperty("line.separator");
//字符输出流
try(BufferedWriter out = new BufferedWriter(new FileWriter(destFile,true))){
out.write("郭大傻?");
out.write(lineSeparator);
out.write("结束~");
//使用try-with-resources优雅关闭资源(https://199604.com/1241)
//out.close();
} catch (IOException e) {
e.printStackTrace();
}
//字符输入流
try(BufferedReader in = new BufferedReader(new FileReader(destFile))) {
String line = null;
while ((line= in.readLine())!=null){
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
tringdestFile="D:"+File.separator+"destfile.txt";
StringlineSeparator=System.getProperty("line.separator");
//字符输出流
try(BufferedWriterout=newBufferedWriter(newFileWriter(destFile,true))){
out.write("郭大傻?");
out.write(lineSeparator);
out.write("结束~");
//使用try-with-resources优雅关闭资源(https://199604.com/1241)
//out.close();
}catch(IOExceptione){
e.printStackTrace();
}
//字符输入流
try(BufferedReaderin=newBufferedReader(newFileReader(destFile))){
Stringline=null;
while((line=in.readLine())!=null){
System.out.println(line);
}
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
一位辣鸡的菜鸡mark结束系列~
java io 缓冲流_记忆系列-Java IO的缓存输入输出流(高效流)相关推荐
- zipfile中怎么关闭流_深入学习JAVA -IO流详解
(一)IO流基本概念 Java对数据的操作是通过流的方式,io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相 ...
- java 中的流_深入理解Java中的流(Stream)
首先,流是什么? 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行.设备可以是文件,网络,内存等. 流具有方向性,至于是输入 ...
- java中io是什么_深入理解Java中的IO
深入理解Java中的IO 转载自:http://blog.csdn.net/qq_25184739/article/details/51205186 本文的目录视图如下: Java IO概要 a.Ja ...
- java io 文件复制_实例讲述Java IO文件复制
前言:IO流主要分为两大类,分别是字节流与字符流 注意: 1.音频文件.图片.视频(范围广),就用字节流 2.只涉及到文本的,就用字符流 使用字节流复制文本内容(其他文件也可以) 代码如下: impo ...
- java实验10流_实验9 Java输入输出流
<实验9 Java输入输出流>由会员分享,可在线阅读,更多相关<实验9 Java输入输出流(14页珍藏版)>请在金锄头文库上搜索. 1.山 西 大 学 计 算 机 与 信 息 ...
- java服务器gc停顿_如何避免后台IO高负载造成的长时间JVM GC停顿(转)
译者著:其实本文的中心意思非常简单,没有耐心的读者建议直接拉到最后看结论部分,有兴趣的读者可以详细阅读一下. 原文发表于Linkedin Engineering,作者 Zhenyun Zhuang是L ...
- java io 网络编程_[笔面] Java IO和网络编程相关面试
1.网络编程时的同步.异步.阻塞.非阻塞? 同步:函数调用在没得到结果之前,没有调用结果,不返回任何结果. 异步:函数调用在没得到结果之前,没有调用结果,返回状态信息. 阻塞:函数调用在没得到结果之前 ...
- mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv
详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...
- java实现 mysql导入_怎么用java实现mysql数据库的导入导出
匿名用户 1级 2018-11-21 回答 使用Java实现对MySql数据库的导入与导出 package com.project.ajaxs; import java.io.BufferedRead ...
最新文章
- 前置体验,才是打动用户的神器
- 解题报告:X、骑士共存问题(最大独立集)(匈牙利 / 最大流)
- asp.net 备份和恢复SQL SERVER 数据库
- [导入]★ 你知道JavaScript里数组的最大长度允许多少吗 ★
- OpenCV单kinect多帧静止场景的深度图像去噪
- 【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)
- 如何检查linux 下是否安装java(jdk)环境
- HDU 2159 完全背包
- mysql_store_result和mysql_use_result
- PRINCE2认证的优势是什么?
- 泛泰A870(高通APQ8064t 600 cpu) Mokee4.4.2(Android4.4) 图赏
- 石墨烯的晶格和能带结构
- Scratch编程——跳一跳
- 安装 Vmware和创建虚拟机即密码破解
- keep-alive相关用法及使用场景
- 2019年厦门国际银行“数创金融杯”数据建模大赛总结
- 常见的几种ADSL 路由器的端口映射方法
- 小学生日常行为规范PPT模板
- Windows间歇性高ping(高延迟)解决办法
- wireshark ARP抓包
热门文章
- Codeforces 396A 数论,组合数学
- (转)Sublime Text2 快捷键汇总
- http://www.cnblogs.com/youfan/articles/3216816.html
- JDK动态代理和Cglib的动态代理
- Xcode Debugging
- WebBrowserProgramming - Python Wiki
- Cisco路由器安全配置必用10条命令
- 小程序前端性能测试_如何提高前端应用程序的性能
- scrum项目管理_Scrum,用于初创企业(或针对该项目的任何项目)
- 涉密计算机用户账号设置审批表,北京邮电大学涉密计算机配置审批表.PDF