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知识点摘记(十三)的更多相关文章

  1. J2SE知识点摘记(二十三)

    我们简单介绍一下这个接口: 1.4.3        Comparable 接口 在 java.lang 包中,Comparable 接口适用于一个类有自然顺序的时候.假定对象集合是同一类型,该接口允 ...

  2. J2SE知识点摘记(六)

    1.        static关键字的使用 static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类. static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯 ...

  3. J2SE知识点摘记(五)

    1.        引用数据类型的传递 java用引用代替C++中的指针 fun()方法接收的参数是是Change c1,也就是说说fun()方法接受的是一个对象的引用,所以fun方法中所所做的操作就 ...

  4. J2SE知识点摘记(四)

    1.        抽象类(abstract) 抽象类和抽象方法都必须用abstract关键字来修饰. 抽象类不能被直接实例化,也就是不能直接用new关键字去产生对象. 抽象方法只需声明,而不需实现. ...

  5. J2SE知识点摘记(三)

    1.         在java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类.但在java中却允许多层继承. 2.         非内部Class只能被public或者defaul ...

  6. J2SE知识点摘记(二)

    1.    对象的声明 "类名 对象名 = new 类名();"例子:Person P;//先声明一个Person类的对象p p=new Person();//用new关键字实例化 ...

  7. J2SE知识点摘记(一)

    1.        数组的声明时无法指定数组的长度. 2.        一维数组的声明和内存的分配 "数据类型    数组名[]; //声明一维数组     数组名=  new 数据类型[ ...

  8. J2SE知识点摘记-数据库(二)

    一.          查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...

  9. J2SE知识点摘记-数据库(一)

    一.          数据库连接 在JDBC的操作过程中,进行数据库连接的主要步骤如下: 通过Class.forName()加载数据库的驱动程序.首先需要利用来自Class类中的静态方法forNam ...

随机推荐

  1. title:EL表达式获取Map里面的数值失败的问题

    在控制器中定义了一个Map<Integer,String>集合,看似没有问题,将这个集合的对象map传递到一个JSP页面中,我们都知道,用EL表达式 ${map[key]}就可以取得key ...

  2. Twitter License for Android

    1.Apache Software Foundation Apache 软件基金会 2.Apache Thrift 跨平台传输数据,Thrift与其他传输方式的比较:    xml与JSON相比体积太 ...

  3. c语言 文件写入和读取

    #include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10 struct studen ...

  4. Google TensorFlow深度学习笔记

    Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...

  5. Python urllib和urllib2模块学习(二)

    一.urllib其它函数 前面介绍了 urllib 模块,以及它常用的 urlopen() 和 urlretrieve()函数的使用介绍.当然 urllib 还有一些其它很有用的辅助方法,比如对 ur ...

  6. Linux: service network/Network/NetworkManager

    Linux:service network/Network/NetworkManager start 这三种有什么不同? 1.network service的制御网络接口配置信息改动后,网络服务必须从 ...

  7. 用 Python脚本生成 Android SALT 扰码

    发布Android 有偿应用时需要随机生成 SALT 扰码夹在文件中,以下是 Python脚本(当然你选择 C/Java/SHELL/Perl 或别的都行) #!/usr/bin/python # F ...

  8. iOS开发 使用Xcode自带的Leaks

    http://www.jianshu.com/p/0837331875f0 http://www.cnblogs.com/tanzhenblog/p/5001344.html?utm_source=t ...

  9. Cube(规律)

    Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. uva 10306 - e-Coins(完全背包)

    题目链接:10306 - e-Coins 题目大意:给出m和s, 再给出m种电子硬币,每种硬币有两种金额xi,yi.现在要在m种硬币种选若干个硬币,可以重复选同一种硬币, 使得(x1 + x2 + . ...