java i o教程_Java I/O系统
FileInputStream(String filePath);//文件的完整路径
FileInputStream(File fileObj);//文件的File对象
这两个构造器都会抛出FileNotFoundException异常。
FileOutputStream继承于OutputStream,该对象可以将字节写入文件。
构造函数:
FileOutputStream(String filePath)
FileOutputStream(String filePath,booleanappend)
FileOutputStream(File fileObj)
FileOutputStream(File fileObj,boolean append)
和FileInputStream一样,不同的是有一个append参数,这个参数如果为true,则以追加的方式打开文件,否则,这个方法会删除同名的已有文件创建一个新的输出流。另外,如果试图打开只读文件会抛出异常。
3、字节缓冲流
对于面向字节的流,缓冲流通过将内存缓冲区附加到IO系统来扩展过滤流。这种流允许java一次对多个字节执行多次IO操作,从而提升性能。
因为可以使用缓冲区,所以略过、标记、或重置流都是可能发生的,BufferedInputStream类、BufferedOutputStream类、PushbackInputStream类都实现了缓冲流。
BufferedInputStream类
缓冲IO是很常见的性能优化手段,BufferedInputStream类允许将任何InputStream对象封装到缓冲流中以提高性能,因为带缓冲区的输入流从流中读入字符时,不会每次都对设备访问。
构造函数:
BufferedInputStream(InputStream inputStream)
BufferedInputStream(InputStream inputStream,int bufSize)
缓冲输入流除了任何InputStream都实现了的read()和skip()方法外,还支持mark()和reset()方法。
BufferedOutputStream类
创建一个带缓冲区的输出流,带缓冲区的输出流在收集要写出的字符时,不会每次都对设备访问,当缓冲区填满或者当流被冲刷时,数据就被写出,因此调用flush()方法才是数据刷盘。
构造函数:
BufferedOutputStream(OutputStream outputStream)
BufferedOutputStream(OutputStream outputStream,int bufSize)
PushbackInputStream类
一个可以预览字节的输入流,它读取字节,但并不破坏他们,读取后可以再将他们回推到输入流中,下次调用read()时可以再次被读取。
构造函数:
PushbackInputStream(InputStream inputStream)
PushbackInputStream(InputStream inputStream,int num)
第一个构造函数创建的流对象允许将一个字节回推到输入流。
第二个构造函数创建的流对象具有一个长度为num的回推缓冲区,从而允许将多个字节回推到输入流中。
4、打印流
PrintStream类
用的最多的System.out.println()就是PrintStream类里的方法。
PrintStream最初的目的是为了以可视化格式打印所有的基本数据类型以及String对象,它的最重要的两个方法:print()和println()可以打印出各种类型,如果参数不是基本类型,那么会自动调用对象的toString()方法并显示结果。
五、字符流
1、顶级抽象类
Reader字符流的顶级抽象类,定义了java字符流的输入模型。
方法列表:
方法
描述
int read()
读取一个字符,返回表示该字符的证书,如果达到文件末尾,则返回-1
int read(char buff[])
读取buff.length个字符,返回成功读取的字符数,如果达到文件末尾,则返回-1
int read(CharBuffer buff)
读取字符,返回成功读取的字符数,如果达到文件末尾,则返回-1
int read(char buff[],int offset,int num)
从buff[offset]开始读,读取num个字符,如果文件达到末尾,则返回-1
long skip(long num)
跳过num个字符,返回实际跳过的字符数
void close()
关闭输入流,如果试图继续读取,会产生IO异常
boolean ready()
如果下一个输入请求不等待,就返回true,否则返回false
boolean markSupported()
如果这个流支持mark或者reset,就返回true
void mark(int num)
在当前流的位置放置标记,该标记在reset()之前一直有效
void reset()
将输入指针重新设置为前面设置的标记位置
Writer字符流的顶级抽象类,定义了java字符流的输出模型。
方法列表:
方法
描述
Writer append(char cn)
将cn追加到调用输出流的末尾,返回对调用流的引用
Writer append(CharSequence chars)
将chars追加到调用输出流的末尾,返回对调用流的引用
Writer append(CharSequence chars,int begin,int end)
将chars从begin到end-1之间的字符追加到输出流的末尾,返回对调用流的引用
void close()
关闭输出流,如果试图继续向其中写入内容,将产生IO异常
void flush()
完成输出状态,从而清空所有缓冲区,即刷新输出缓冲区
void write(int ch)
写入一个字符到输出流中
void write(char buff[])
将整个字符数组写入输出流中
void write(char buff[],int offset,int num)
将buff数组中从buff[offset]开始的num个字符写入输出流中
void write(String str)
将str写到输出流中
void write(String str,int offset,int num)
将字符串str中从offset开始写,写num个字符
2、文件流
FileReader类
FileReader类可以创建用于读取文件内容的Reader对象。
注意:FileReader 用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream。
构造函数:
FileReader(String filePath)
FileReader(File fileObj)
FileWriter类
FileWriter类可以创建能够用于写入文件的Writer对象。
文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileWriter用于写入字符流。要写入原始字节流,请考虑使用FileOutputStream。
构造函数:
FileWriter(String filePath)
FileWriter(String filePath,booleanappend)
FileWriter(File fileObj)
FileWriter(File fileObj,boolean append)
append参数代表是否追加到文件末尾。
3、缓冲流
BufferedReader类
BufferedReader类通过缓冲输入提高性能,该类具有两个构造函数:
BufferedReader(Reader inputStream)
BufferedReader(Reader inputStream,int bufSize)
第二个构造函数指定创建bufSize大小的缓冲字符流。
与面向字节的流一样,缓冲的输入字符流也实现了mark()和reset()方法,并且markSupported()会返回true.
BufferedWriter类
BufferedWriter是缓冲输出的Writer,使用BufferedWriter可以通过减少实际向输出设备物理的写入数据的次数来提高性能。
构造函数:
BufferedWriter(Writer outputStream)
BufferedWriter(Writer outputStream,int bufSize)
第一种形式创建的缓冲流使用具有默认大小的缓冲区,在第二种形式中缓冲区的大小是由bufSize指定的。
4、打印流
PrintWriter类
PrintWriter本质上是PrintStream的面向字符的版本。
构造函数:
PrintWriter(OutputStream outputStream)
PrintWriter(OutputStream outputStream,booleanautoFlushingOn)
PrintWriter(Writer outputStream)
PrintWriter(Writer outputStream,boolean autoFlushingOn)
autoFlushingOn参数控制每次调用println()/printf()或format()方法时,是否自动刷新输出缓冲区,如果为true,就自动刷新,否则不自动刷新,没有指定的构造函数不自动刷新。
PrintWriter(File outputFile)
PrintWriter(File outputFile,String charSet)
PrintWriter(String outputFileName)
PrintWriter(String outputFileName,String charSet)
这几个构造函数允许从File对象或根据文件路径创建PrintWriter对象,对于每种形式,都会自动创建文件,所有之前存在的同名文件都会被销毁。一旦创建PrintWriter对象,就将所有输出定向到指定文件,可以通过charSet传递的名称来指定字符编码。
java i o教程_Java I/O系统相关推荐
- java基础自学教程_Java基础自学教程(全套)
Java基础自学教程(全套)视频简介: Java是计算机领域中一种非常重要的程序设计语言,也是一款优秀的纯面向对象语言.第一视频教程分享的这部Java基础自学教程是一部非常不错的教程.它详细讲述了JA ...
- java界面编辑教程_java程序设计基础教程第六章图形用户界面编辑.docx
java程序设计基础教程第六章图形用户界面编辑.docx 还剩 27页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要 ...
- java面向对象的教程_java面向对象入门教程
java面向对象入门教程 Java 编程语言的风格十分接近C.C++语言.Java是一个纯的面向对象的程序设计语言,以下是小编为大家搜索整理的java面向对象入门教程,希望能给大家带来帮助!更多精彩内 ...
- web java获取当前时间_Java 获取当前系统时间的三种方法
准备工作: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; 方式一: /** ...
- java编译器使用教程_Java编译器API简介
今天给大家分享的是Java编译器API简介,文章部分内容摘自[优锐课]学习笔记. Java编译器API Java编译器API是Java模块(称为java.compiler)的一部分.该模块包括语言模型 ...
- java 对称加密 教程_Java 对称加密算法DES 的使用教程
前面一篇我写了对称加密算法IDEA的使用教程<Java 对称加密算法IDEA 的使用教程>.今天我们来学习另外一个对称加密算法DES.DES算法使用相对广泛一些,一些老的项目中可能会遇到. ...
- java制作菜单教程_Java菜单和工具栏学习教程
Java菜单和工具栏学习教程 引导语:工具栏是显示位图式按钮行的控制条,位图式按钮用来执行命令.以下是百分网小编分享给大家的Java菜单和工具栏学习教程,欢迎阅读! 1.1 菜单和工具栏 菜单和工具栏 ...
- java io流大全_Java IO流系统整理
Java IO流的分类 Java中的流,可以从不同的角度进行分类. 按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 按数据传输单位分类: 字节流:以字节(8位 ...
- java 微商城开发_Java网上商城系统可以开微信商城吗
开微信商城是现在非常火的一件事,我们身边有很多人都在开微信商城.而开发微信商城吗?MCmore小麦来为你解惑. Java网购商城系统和微信商城 网上商城系统是由很多种类型的,如java网上购物系统,p ...
最新文章
- python线下培训-线下培训价值一万八的某达PYTHON培训视频
- dama数据管理知识体系指南_DAMA知识体系解读(6)数据操作管理
- Skipping failed optional dependency /chokidar/fsevents
- 好久没敲代码了(强行补上今天的博客。。。)
- 清浊音判别 matlab,matlab语音信号处理如何判别清浊音?
- 法拉第未来宣布汉福德工厂获得最终生产使用资质
- itextpdf 实现html转pdf中中文及图片base64的解决方法
- qt使用QProcess实现进程通信
- cad怎样弄出放线的坐标_利用CAD绘制全站仪放线用的坐标点
- OpenWRT(四)AP、STA、中继模式
- html ul做成表格,HTML+CSS入门 ul打造表格样式解析
- js获取时分秒数据格式为YYYMMDDHHmm方法
- 协议软件服务器吗,使用开源协议软件搭建即时通讯服务器.doc
- 3.1 人生规划的秘密:一个人活成一支队伍
- 无法支持计算机上的硬件,电脑经常弹出“不支持的硬件”怎么办?
- 重装系统(win7)
- 你了解设计公司的服务内容有哪些吗?
- Html主要内容总结
- fan4801开关电源原理图_FAN41501
- 公司建站网站用哪咱自助建站系统好一些。