Java 输入输出流
2018-06-18 02:05:03来源:未知 阅读 ()
这篇不是为了系统介绍Java的输入输出流机制的,仅为个人笔记
作为Java小菜,每次上网搜别人的Java读写文件的程序参考,总觉得一头雾水,为什么要声明这么多类,规则是什么,全然分からない,所以带着疑问稍微了解了一下;
Java中存在两种输入输出模式的类,面向字节(InputStream&OutputStream)和面向字符(Reader&Writer),另外还有一个处理文件和文件夹的类(File);
Java的输入输出流类采用装饰者模式,由以上5个类衍生出许许多多其他类,这里放一张网上搜到的图,大家感受下
Java支持很多类型的输入源和输出端,但这里不打算展开讲,我只想聊聊文件的读取和输出。众所周知,计算机访问外部设备非常耗时,而访问缓冲区则很快。因此为了提高读写文件的效率,除了程序与流节点之间必要的读写机制外,还需要增加缓冲机制。
具体例子如下:
package com.practise.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.OutputStreamWriter; import java.io.BufferedWriter; //所有以 Stream 结尾的类都是面向字节如 FileInputStream/FileOutputStream //以 Reader/Writer 结尾的类是面向字符 //以 File 开头的类是面向外存 //以 Buffered 开头的类是面向缓冲区 public class ReadAndWrite { public static void main (String[] args) { String path = "D:\\Coding\\Java\\TestJava\\testdata\\"; try { File inFile = new File(path + "in.txt"); File outFile = new File(path + "out.txt"); InputStreamReader inSr = new InputStreamReader( new FileInputStream(inFile)); BufferedReader inBr = new BufferedReader(inSr); OutputStreamWriter outSw = new OutputStreamWriter( new FileOutputStream(outFile)); BufferedWriter outBw = new BufferedWriter(outSw); String line = ""; while ((line = inBr.readLine()) != null) { outBw.write(line + "\r\n"); } outBw.close(); outSw.close(); inBr.close(); inSr.close(); } catch(Exception e) { e.printStackTrace(); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash