黑马程序员-----I/O流

来源:互联网 发布:sql语句中union 编辑:程序博客网 时间:2024/05/01 17:13

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

一、数据流

数据流分为输入流和输出流两大类,输入流只读不写,输出流只写不读

使用数据流的目的:使程序的输入输出操作独立于相关设备,使得一个程序能够用于多种输入/输出设备,不需要对源代码甚至目标代码进行任何修改,从而增强程序的可移植性;

二、缓冲流

对数据流的每次操作都是以字节为单位进行的,但显然这样效率太低。为提高数据传输效率,通常使用缓冲流,即为一个流配有一个缓冲区,一个缓冲区就是专门用于传送数据的一块儿内存。

三、标准的数据流

标准的输入\输出是指在字符方式下(如DOS)程序与系统进行交互的方式。

java通过System类实现标准的输入/输出功能。System类是一个final类

标准输入System.in

标准输出    System.out

标准错误输出    System.err

四、1java.io包中的数据流和文件类

java.io包支持两种类型数据流:二进制字节流和字符流,以四个抽象类表示,和数据操作的文件类

字节流:InputStream、OutputStream

字符流:Reader、Writer

文件类:File

随机访问文件类:RandomAccessFile

2、字节输入流IntputStream(抽象类)

read():从流中读入数据

skip():跳过流中若干字节数

available():返回流中可用字节数

mark():在流中标记一个位置

reset():返回标记过的位置

markSupport():是否支持标记和复位操作

3、文件字节输入流FileInputStream

构造:public FileInputStream(String name) throws FileNotFoundException、public FileInputStream(File file) throws FileNotFoundException;

read():

read(byte[] b):

read(byte[] b,int,int):

close():

4、文件字节输出流FileOutputStream

构造方法:public FileOutputStream(String name) throws FileNotFoundException、public FileOutputStream(File file) throws FileNotFoundException;public 、public FileOutputStream (String name,boolean) throws FileNotFoundException

当参数boolean为true时为添加方式,即从文件末尾以追加的方式写入,当boolean为false时为重写方式,即覆盖原来文件内容;

write():

write(byte[] b):

write(byte[] b,int,int):

五、文件操作

1、File类

构造方法:1)、File f1=new File("data.txt");2)、File f2 = new File("\\mydir","data.txt"):3)、File dir = new File("\\etc"):    File f3 = new File(dir,"data.txt");

1)、访问文件对象

getName():返回文件对象名,不包含路径名

getPath():返回相对路径名,包含文件名

getAbsolutePath():返回绝对路径名,包含文件名

getParent():返回父文件名

getparentFile():返回父文件对象

2)、获得文件属性

length():返回指定文件的字节长度

exists():测试指定文件是否存在

lastModified():返回指定文件最后被修改的时间

3)、文件操作

renameTo(Filedest):文件重命名

delete():删除空目录

4)、目录操作

mkdir():创建指定目录,正常创建时返回true

String[] list():返回目录中的所有文件名字符串

File[] listFiles():返回指定目录中的所有文件对象

2、文件过滤器

FileFilter和FilenameFilter接口

六、随机文件操作RandomAccessFile

1、随机文件操作的特点:

1)、对一个文件进行读写操作

2)、可以在文件中指定的任意位置读取或写入数据

2、构造方法:RandomAccessFile(File file,String mode); RandomAccessFile(String name,String mode);

mode指定参数访问方式,r表示读,w表示写,rw表示读写;

3、实例方法

length():返回文件长度

seek(long pos):改变文件指针位置

readInt():读一个整数类型值

witeInt(int):写入一个整型值

getFilePointer():获取文件指针位置

close():关闭文件

注意:RandomAccessFile不是流

七、字符流

1、字符输入流:Reader,方法与InputStream类似

2、字符输出流:Writer,方法与OutputStream类似

write(String): 将字符串写入输出流

flush(); 将缓冲流内容写入输出流

3、字符文件流:FileReader、FileWriter

4、字符缓冲流:BufferReader、BufferWriter

readLine(): 读取一个问本行;

newLine():  写入一个行分隔符

5、对象序列化:指把对象的状态数据以字节流的形式进行处理,一般用于实现完全的对象

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------


详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>
0 0
原创粉丝点击