文件操作

来源:互联网 发布:amazon s3 php 编辑:程序博客网 时间:2024/05/21 15:47
 

12.4文件操作

FileInputStreame/FileOutputStream

一、   文件夹

(一)创建文件夹
boolean createNewFile()throws IOException:创建文件,如果被创建的文件已经存在,则不创建。
boolean mkdir(): 创建文件夹。
boolean mkdirs(): 创建多级文件夹。

(二)删除文件夹:
boolean delete:可用于删除文件或者文件夹。注意:对于文件夹只能删除不带内容的空文件夹,对于带有内容的文件夹,不可以直接删除,必须要从里往外删除。
void deleteOnExit():删除动作交给系统完成。无论是否反生异常,系统在退出时执行删除动作。

递归方法的使用

for(int i=0;i<files.length;i++){

              if(files[i].isFile())

                   files[i].delete();

              listDir(files[i]);//递归调用

         }

 

二、文件字节输入流类FileInputStream

FileInputStream用于顺序访问本地文件。他从超类InputStream中继承read()、close()等方法对本机上的文件进行操作,但不支持mark()方法和reset()方法。

构造方法

Public FileInputStrean(String name) throws FileNotFondException

Public FileputStream(File file) throws FileNotFoundException

在这里,name为文件名,file为文件类File的对象,既可以以文件名或File对像构造文件输入流对象。以下语句以文件名data.txt构造文件数据输入流对象f。

FileInputStrean f=new FileInputStream(“data.txt”);

(二)、读取字节的方法

使用read()方法可以访问文件的一个字节、几个字节或整个文件夹。Read()方法的三种格式

1、Public int read() throws IOException;从输入流中读取一字节数据,返回下一字节数据,如果已达文件末尾,则返回-1.

2、Public int read(byte[] b,int len) throws IOException:从输入流中读取最多len个字节,存入字节数组b中返回实际读入的字节数。

3、关闭输入流:public void close() throws IOException:close()方法用于关闭输入流,并释放相关的系统资源。发生I/O错误时,抛出IOException异常。

三、文件字节输出流FileOutputStream类

FileOutputStream类用于像文件写数据,它从超类OutputStream中继承了write()、close()等方法。

访问文件对象

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

public String getPath()    //File对象中封装的路径是什么,获取的就是什么

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

public String getParent()      //返回父文件对象的路径名,如果封装的是相对路径,返回null

public File   getParentFile()    //返回父文件对象

三、文件过滤器

RandomAccessFile类可以对文件进行随机读写操作。

构造方法—该对象只能对文件进行操作

RandomAccessFile(File file,String mode) ;

RandomAccessFile(String name,String mode);

FileFilter接口:用于抽象路径名的过滤器。此接口的实例可传递给 File 类的 listFiles(FileFilter) 方法。

成员方法: boolean accept(File pathname) 测试指定抽象路径名是否应该包含在某个路径名列表中。