JavaIO再回顾

 

 

 

File类

JavaIO访问文件名和文件检测相关操作

分隔符最好是使用File类提供的File.separator,使程序更加的健壮。

File类提供的方法基本上是见名知意,例如getName()就是获取文件名、isFile()判断是不是一个文件。

 

public class FileTest {

    public static void main(String[] args) throws IOException {
        System.out.println(File.separator + " " + File.pathSeparator);
        String fileName = "E:" + File.separator + "fileTest.txt";
        File f1 = new File(fileName);
        f1.createNewFile();
        System.out.println(f1.getName());
        System.out.println(f1.getPath());
        System.out.println(f1.exists());
        System.out.println(f1.canRead() + " " + f1.canExecute() + " " + f1.canWrite()) ;
        System.out.println(f1.isFile() + " " + f1.isDirectory() + " " + f1.isHidden());
        System.out.println(f1.lastModified() + "");//返回最后修改时间
        System.out.println(f1.length());//返回文件内容的长度
        f1.delete();
        System.out.println(f1.exists());
        

    }

}

 

【演示结果】文件里的内容为JavaIO

\ ;
fileTest.txt
E:\fileTest.txt
true
true true true
true false false14274570315046false
2.目录操作的相关方法
mkdir()试图创建一个File对象所对应的目录,如果创建成功返回true,否则返回false,list()列出所有子文件名和路径名,返回String[]
listFiles()列出File对应的子文件名和路径名,返回File[]

ublic class TraverseFile {

    public static void main(String[] args) {
        String fileName = "F:"+File.separator+"test";
        File f = new File(fileName);
        printFile(f);
        //f.mkdir();
        

    }
    
    public static void printFile(File f) {
        if(f.exists() && f.isDirectory()) {
            File[] ff = f.listFiles();
            if(ff != null) {
                for(File fff : ff) {
                    printFile(fff);
                }
            }
            if(f != null)
                System.out.println(f.getPath());
        }
    }
}

JavaIO流

输入流:只能从中读取数据,而不能写入数据。

输出流:只能写入数据,而不能读取数据。

这里的输入输出是以Java程序所在内存的角度来说的。

字节流和字符流:字节流和字符流的用法是一样的,区别在于字节流和字符流所操作的数据单元不同——字节流操作的是8位的字节,字符流

操作的是16位的字符。字节流主要由InputStream和OutputStream作为基类,而字符流则主要由Reader和Writer作为基类。

节点流和处理流:节点流来从特定的数据源读写数据。节点流是低级流。处理流用来包装节点流,处理流为高级流 。

处理流的功能主要体现在:

1.以增加缓冲的方式来提高IO效率。         2.处理流可以方便的一次输入/输出大批数据。

通常如果输入/输出的是文本内容使用字符流,输入/输出的是二进制内容使用字节流。

JavaIO体系

 

 

 

 

posted @ 2015-03-27 22:01  Pickle  阅读(224)  评论(0编辑  收藏  举报