J2SE知识点摘记(十三)
1、 字节流
InputStream(输入字节流)是一个定义了java流式字节流输入模式的抽象类.该类的所有方法在出错时都会引发一个IOExcepiton异常.
Void close() 关闭输入流.关闭之后若再读取则会产生IOException异常.
Void reset() 重新设置输入指针到先前设置的表之处.
Int read() 如果下一个字节可读则返回一个整型,遇到文件尾时返回-1
Int read(byte buffer[]) 试图读取buffer.length个字节到buffer中,并返回书记成功 读取的字节数.
Int read(byte buffer[] ,int offset,int number) 试图读取buffer中从buffer[offset]开始的numBytes个字节,返回实际读取的字节数.
OutputStream(输出字节流)是定义了流式字节输出模式的抽象类.
Void close() 关闭输出流.关闭之后若再读取则会产生IOException异常.
Void write(int b) 向输出流写入单个字节.注意参数是一个整型数,它允许设计者不必把参数转换成字符型就可以调用write()方法.
Void write(byte buffer[]) 向一个输出流写一个完整的字节数组.
Void write(byute buffer[],int offset,int numByte) 写数组buffer以buffer[offset]为起点的numBytes个字节区域内的内容.
FileInputStream(文件输入流)类创建一个能从文件读取字节的InputStream类,它的两个常用构造方法:
FileInputStream(String filepath)
FileInputStream(File fileObj)
这两个构造方法都能引发FileNotFoundException异常.这里filepath是文件的绝对路径,fileObj是描述该文件的File对象.
例子:
InputStream f0=new FileInputStream("c:\\test.txt");
或者
File f=new File("c:\\test.txt");
InputStream f1=new FileInputStream(f);
FileOutputStream(文件输出流)创建了一个可以向文件写入字节的类OutputStream,它常用的构造方法:
FileOutputStream(String filepath)
FileOutputStream(File fileObj)
FileoutputStream(String filePath,boolean append(
如果append为ture,文件则已设置搜索路径模式打开.FileOutputStream的创建不依于文件是否存在.在创建对象时,FileOutputStream会在打开输出文件之前就创建它.在这种情况下如果试图打开一个只读文件,则会引发一个IOException异常.
注意:printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因.
通过File类的对象去实例化OutputStream的对象,此时是通过其子类FileOutputStream实例化的OutputStream对象,属于对象的向上转型.
因为字节流主要以操作byte数组为主,所以通过String类中的getByte()方法,将字符串转化成一个byte数组.
通过File类的对象去实例化InputStream的对象,此时是通过其子类FileInputStream实例化的InputStream对象,属于对象的向上转型.
因为字节流主要以操作byte数组为主,所以声明一个1024大小的byte数组,此数组用于存放读入的数据.
最后将byte数组转成字符串输出.
J2SE知识点摘记(十三)的更多相关文章
- J2SE知识点摘记(二十三)
我们简单介绍一下这个接口: 1.4.3 Comparable 接口 在 java.lang 包中,Comparable 接口适用于一个类有自然顺序的时候.假定对象集合是同一类型,该接口允 ...
- J2SE知识点摘记(六)
1. static关键字的使用 static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类. static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯 ...
- J2SE知识点摘记(五)
1. 引用数据类型的传递 java用引用代替C++中的指针 fun()方法接收的参数是是Change c1,也就是说说fun()方法接受的是一个对象的引用,所以fun方法中所所做的操作就 ...
- J2SE知识点摘记(四)
1. 抽象类(abstract) 抽象类和抽象方法都必须用abstract关键字来修饰. 抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象. 抽象方法只需声明,而不需实现. ...
- J2SE知识点摘记(三)
1. 在java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类.但在java中却允许多层继承. 2. 非内部Class只能被public或者defaul ...
- J2SE知识点摘记(二)
1. 对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...
- J2SE知识点摘记(一)
1. 数组的声明时无法指定数组的长度. 2. 一维数组的声明和内存的分配 "数据类型 数组名[]; //声明一维数组 数组名= new 数据类型[ ...
- J2SE知识点摘记-数据库(二)
一. 查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...
- J2SE知识点摘记-数据库(一)
一. 数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...
随机推荐
- JavaScript中的Math.ceil()、Math.round()、Math.floor()
1. Math.ceil():向上取整(指取大于该浮点数的最小整数) 2. Math.round():四舍五入取整(注意:当该浮点数距离两端整数一样时,取较大的那个整数,如Math.round(-1. ...
- Datagridview控件实现分页功能
可以进行sql语句进行设置: 1.先新建一个窗体,一个DataGridView控件.两个label控件.两个Button控件 2.代码如下: using System; using Sy ...
- python---连接MySQL第二页
用python向MySQL插入值.并取出被插入行的主键. #!/usr/bin/python #!coding:utf-8 import mysql.connector from mysql.conn ...
- [WPF]解决ListView在没有Items时,水平滚动条不出现的问题
转载地址:http://www.cnblogs.com/nankezhishi/archive/2010/03/19/FixListViewNotScrollHeaderBug.html 在上一篇Bl ...
- windows、linux创建子进程
在windows下创建子进程较常用到的API就是CreateProcess,可以通过以下的方式启动一个新进程: STARTUPINFO si = {0}; PROCES ...
- 有关UNICODE、ANSI字符集和相关字符串操作
Q UNICODE字符串如何显示 A 如果程序定义了_UNICODE宏直接用 WCHAR *str=L"unicodestring"; TextOut(0,0,str); 否则就需 ...
- Angular-UI-Router 学习笔记
路由 Route 我在 慕课网 学习 AngularJS 为什么用 Route AJAX 请求不会留下 History 记录 用户无法直接通过 URL 进入应用中的指定页面(保存书签.链接分享给朋友) ...
- bootstrap注意事项(六)按钮
1.预定义样式 使用下面列出的类可以快速创建一个带有预定义样式的按钮 <!DOCTYPE HTML><html><head> <link rel=" ...
- .net通用权限框架B/S (三)--MODEL层(2)
接上篇 实体数据模型保存后生成上下文和实体 上下文和实体实际是由根据.tt模版生成的 当实体数据模型.edmx更新保存后,上下文和实体就会根据.tt模版自动更新 生成的上下文继承 DbContext ...
- 今天是迅驰ORM的诞生之日。
欢迎各位朋友来造访,最主要还是那一点:版权所有,请尊重驰哥的著作版权,侵权必追究法律责任. 最后来一句刘德华的歌曲:独自去偷欢,我谢绝你监管!快乐心中常为我伴.