欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java

程序员文章站 2022-07-01 16:06:34
...

:文件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

相关标签: 文件 异常