Java流与文件操作的总结 .

数据流的基本概念

数据流分为输入流和输出流。

输入流只能读不能写,而输出流只能写不能读。

使用数据流的目的是使程序的输入输出操作独立于相关设备,增强程序的可移植性。

 

 

字符流

Reader类和Writer类

字符输入流Reader类是所有面向字符的输入流的超类声明为java.io中的抽象类。

Public abstract class Reader extends Object

字符输出流Writer类是所有面向字符的输出流的超类声明为java.io中的抽象类。

Public abstract class Writer extends Object

Writer的新增方法:

Public void writer(Srtring str) throwsIOException:将字符串写入输出流

Public abstract void flush() throwsIOException:将缓冲区内容写入输出流

输入\输出流对象.close是关闭输入\输出流

 

字符文件流FileReader和FileWriter类

FileReader和FileWriter类分别是InputStreamReader和OutputStreamWriter的子类。

FileReader从父类中继承了read()、close()等方法,FileWriter从父类中继承了write()、close()等方法。

 

字符缓冲流BufferedReader和BufferedWriter类

字符缓冲输入流BufferedReader类  父类是Reader

构造方法:

Public BufferedReader(Reader in):创建一个默认大小的缓冲字符输入流

Public BufferedReader(Reader in,int sz):创建一个指定大小的缓冲字符的输入流

实例方法:

public String readLine() throws IOException:读取一个文件行

 

字符缓冲输出流BufferedWriter类  父类是Writer

构造方法:

Public BufferedWriter(Writer in):创建一个默认大小的缓冲字符输出流

Public BufferedWriter (Writer in,int sz):创建一个指定大小的缓冲字符的输出流

实例方法:

public String newLine() throws IOException:写入一个行分隔符

 

字节流

字节流InputStream和OutputStream类

字节输入流InputStream类   父类是Object

InputStream类的常用的方法:

read():从流中读入数据

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

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

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

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

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

close():关闭流

字节输入流OutputStream类   父类是Object

OutputStream类的常用的方法:

write(int b):将一个整数输出到流

write(byte b[]):讲数组中的数据输出到流中

write(byte b[],int off,int len):将数组b中从off指定的位置开始len长度的数据输出到流中

flush():将缓冲区中的数据强制送出

close():关闭流

 

文件字节输入\输出流类FileInputStream和FileOutputStream

文件字节输入流类FileInputStream

构造方法:

Public FileInputStream(String name) throwsFileNotFoundException

Public FileInputStream(File file) throwsFileNotFoundException

例如:

FileInputStream f=new FileInputStream(“date.txt”);

读写字节的方法:

Public int read() throws IOException

Public int read(byte[] b) throwsIOException

Public int read(byte[] b,int off,int len)throws IOException

关闭输入流:

Public void close() throws IOException

文件字节输出流类FileOutputStream

构造方法:

Public FileOutputStream (String name)throws FileNotFoundException

Public FileOutputStream (File file) throwsFileNotFoundException

Public FileOutputStream (String name,Booleanappend) throws FileNotFoundException

例如:

FileOutputStreamf=new FileOutputStream (“date.txt”,true);

读写字节的方法:

Public int write() throws IOException

Public int write(byte[] b) throwsIOException

Public int write(byte[] b,int off,int len)throws IOException

关闭输入流:

Public void close() throws IOException

 

文件操作

File类

构造方法:

Public File(String pathname)

Public File(File parent,String child)

Public File(String parent,String child)

 

Public File(URI uri)

Fiel类的方法:

访问文件的对象:

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

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

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

Public String getParent():返回父类文件对象的路径名

Public File getParentFile():返回父文件对象

获得文件属性:

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

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

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

文件操作:

Public Boolean renameTo(Filedest):文件重命名

Public Boolean delete():删除空目录

目录操作:

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

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

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

文件过滤器

FileFilter和FilenameFilter接口

具有上面的方法

如果过滤出指定的后缀:可以用endsWith()方法

随机文件操作

RandomAccessFile类

对象序列化

ObjectInputStream

ObjectOutputStream

 

 

 

Java的标准数据流和输入/输出流

标准输入System.in

标准输出System.out

标准的错误输出System.err

 

流操作的基本规律:

 

 

1.  明确数据源和数据目的,

     其实就是在明确是要使用输入流还是输出流。

 

2.  明确操作的数据是否是纯文本数据。

       如果是使用字符流。

       如果不是使用字节流。

 

                   InputStream OutputStream

                   Reader  Writer

 

源设备:键盘System.in,硬盘File,   内存。

目的设备:控制台System.out,硬盘File,   内存。

你可能感兴趣的:(java)