java

:文件File

1.       作用

用来对文件将进行创建、删除、查找、判断操作的类,位于java.io包下。

2.       文件系统规则

(1)       文件可能是目录,或者是正式文件,或者是虚拟文件

(2)       绝对路径:一根目录开头的文件

相对路径:不是以根目录开头的文件

(3)       不同的操作系统所使用的默认分隔符不相同,因此不要在编写的时候直接使用

3.使用

1  构造文件

       File  file = new  File(String pathName) ;

       File  file = new  File(File parent , String child) ;

File  file = new  File(String parent , String child) ;

(2)              常用方法

File [ ] array=File . listRoots () ;这是直接调用File类的Static方法

getAbsolutePath();获得绝对路径

isDirectory();判断时都是目录

isFile();判断是否是文件

(4)       递归算法:方法调用自身

Eg:使用递归算法搜索文件

    //打印目录下的文件名字,返回文件个数

    public int printDir(String dirName){

       int fileCount=0;

       File dirFile=new File(dirName);

       //列表目录

       File[] subFile=dirFile.listFiles();

       if(null==subFile||subFile.length==0){

           System.out.println("目录为空.");

           return 0;

       }

       //遍历一级子目录

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

           System.out.println(subFile[i].getAbsolutePath());

           if(subFile[i].isDirectory()){

              String subDir=subFile[i].getAbsolutePath();

              System.out.println("目录:"+subDir);

              //还是目录,调用同样的方法

              fileCount+=printDir(subDir);

           }

           if(subFile[i].isFile()){

              fileCount++;

              String fileName=subFile[i].getAbsolutePath();

              System.out.println("文件:"+fileName);

           }

       }

       return fileCount;

}

       

3.       文件搜索器

(1)       界面

(2)       利用递归,遍历目录里面的文件(包括文件夹),判断是否是文件夹,如果是文件夹就进入文件夹目录,再次遍历里面的文件(包括文件夹)。以此类推,就实现了文件的搜索。

(3)       JFileChooser 的使用

 

二:异常

1.分类:(1)之前所遇到过的:空指针异常nullpiont  数组越界

       2 在使用File类时,如果创建文件对象所给的路径不存在,也会抛出异常

2.try –catch机制,或者是throws Excpetion 处理

三:流

1.       概念

流是输入和输出抽象

流入和流出:input 流入,从文件到内存再到jvm ; output l流出,从jvm到内存再到文件

2.       继承体系

InputStream(OutputStream) <FileInputStream(FileOutputStream) <DataInputStream(DataOutputStream) BufferedInputStream(BufferedOutputStream)

3.       分类

(1)       字节流

FileInputStreamFileOutputStream

InputStream fos=new FileInsputStream(fileName);

OutputStream fos=new FileOutputStream(fileName);

(2)       缓冲流(过滤流)

BufferedInputStreamBufferedOutpuyStream

使用缓冲流复制文件时,会预先创建一个缓冲区,不是一次一个字节地送,速度比字节流要快很多。

InputStream ins=new FileInputStream(srcFile);

BufferedInputStream bis=new BufferedInputStream(ins);

OutputStream out=new FileOutputStream(bakFile);

BufferedOutputStream bos=new BufferedOutputStream(out);

(3)       原始数据类型流

ByteInputStreamByteOutputStream

(4)       对象流

ObjectInputStreamObjectOutpuStream

你可能感兴趣的:(异常,流,文件)