黑马程序员 java文件操作

  在过去的时候用JAVA开发程序时常常会涉及到文件的操作,在过去很大的一段时间里面搞不清到底是用InputStream还是OutputStream,很可笑有时候总被一些小细节给糊弄。

后来只要从外部文件读取数据那么就用InputStream(字节输入流)、Reader(字符输入流),而如果你是向文件写入那么就用OutputStream(字节输出流)、Writer(字符输出流)来进行输出。

File类是对获取和操作文件的类,通常有以下三种构造方法来创作file对象

1、  File(String filename);

2、  File(String directoryPath,String filename);

3、 File(File f,String filename);
File类的常见方法。

    1,创建。

        boolean createNewFile():创建文件。

        boolean mkdir():创建文件夹。

        boolean mkdirs():创建多级目录。

 

 

    2,删除。

        boolean delete():

        deleteOnExit();

 

    3,判断。

        isAbsolute():是否是绝对路径。

        exists():是否存在。

        isDirectory():是否是文件夹。

        isFile():是否为文件。

    4,获取。

        long length():文件大小。

        getName() // 文件名

        getParent()  //  父目录, 如果封装File对象时,不指定路径, 返回 null

        getPath()    //路径  封装什么路径就是什么路径

        getAbsolutePath() 绝对路径。 //无论封装什么路径,获取的都是绝对路径。

       

        String[] list():获取指定目录下当前的文件夹和文件名称。

        File[] listFiles():获取指定目录下当前的文件夹和文件对象。

        static File[] listRoots():获取本机有效盘符。

        String[] list(FilenameFilter ):获取指定过滤器过滤后的文件或者文件夹名称

        File[] listFiles(FileFilter ):获取指定过滤器过滤后的文件或者文件夹对象

 

 

 

    5,renameTo:对文件进行改名。还可以剪切。

 

 

    6,compareTo();  //File实现了Compareable接口。 文件可以排序。

从文件中读取数据

FileinputStream istream=new FileInputStream(File file);

输出文件

FileoutputStream类

这个类提供了基本的文件写入能力。通常提供两个构建方法

FileoutputStream(String name)

FileOutputStream(File file);

Write方法可以提供到字节定稿到输出流到达的目的地

下面的程序是用户输入字符然后把字符存入到文件 line中

import java.io.*;

public class Example10_5

{

         public static void main(String args[])

         {

                   int b;

                   byte buffer[]=new byte[100];

                   try{System.out.println("输入一行文本,并存入磁盘:");

                            b=System.in.read(buffer);

                            b="dsfadsf";

                            FileOutputStream writefile=new FileOutputStream("line.txt");

                            writefile.write(buffer,0,b);

                   }catch(IOException e)

                   {

                            System.out.println("Error"+e);

                   }

         }

}

 

BufferedReader类可以实现FileReader行读取然后写入文件

Write(String s,int off,int len)把字符串s从s处开始写len个字符。

posted @ 2012-02-20 13:25  夜风雪  阅读(403)  评论(0编辑  收藏  举报