Java IO学习笔记一

Java IO学习笔记一

File

File是文件和目录路径名的抽象表示形式,总的来说就是java创建删除文件目录的一个类库,但是作用不仅仅于此,详细见官方文档

构造函数

  • File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
  • File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
  • File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
  • File(URI uri) 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

实例

File file=new File("/tmp/demo"); //File(String pathname)

File file=new File("/tmp","demo");     //File(String parent, String child)

常用方法

字段

  • static String pathSeparator 与系统有关的路径分隔符,通常是:
  • static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。linux是/
File file=new File("/tmp"+File.separator+"demo");   //使用分隔符创建一个路径

方法摘要

  • boolean canExecute() 测试文件或者目录是否是可执行的,测试可执行权限
  • boolean canRead() 测试可读权限
  • boolean canWrite() 测试可写权限
  • boolean setExecutable(boolean executable) 设置文件或者目录的执行权限
  • setExecutable(boolean executable, boolean ownerOnly) 设置执行权限,如果第二个为true那么只有创建这个文件的用户拥有执行权限
  • boolean setReadable(boolean readable) 设置可读的权限
  • boolean setReadable(boolean readable, boolean ownerOnly) 同上
  • boolean setReadOnly() 标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。
  • boolean setWritable(boolean writable) 设置可写的权限
  • boolean createNewFile() 创建一个文件,这里创建的不是目录
  • boolean mkdir() 创建文件夹
  • File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。
  • String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
  • String getName() 返回由此抽象路径名表示的文件或目录的名称。
  • boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
  • boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。
  • boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。
  • String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
  • File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

实例

创建文件

File file=new File("/tmp/demo.txt");
    if(file.exists())//如果文件存在就删除这个文件
    {
        file.delete();
    }
    else
    {
     try{
        file.createNewFile();   //创建一个文件
        file.setExecutable(false);  //设置执行权限

    }catch (IOException e)
        {
            e.printStackTrace();
        }
    }


创建文件夹

File file=new File("/tmp","test");
        if(file.exists())
        {
            if(file.isDirectory())  //如果是一个文件夹
            {
                System.out.println("这是一个文件夹");
                file.delete();
            }
            else if(file.isFile())   //如果是一个文件
            {
                System.out.println("这是一个文件");
            }

        }
        else
        {
            file.mkdir();
            file.setWritable(false);  //设置权限为不可读

        }

列出全部文件

list

这个函数列出的是文件的名字并不是文件的路径

 File f=new File("d:"+File.separator);
          String[] str=f.list();   //这里列出的仅仅是文件的名字,并不是文件的路径
          for(String s:str){
              System.out.println(s);
          }

listFiles

这个列出的是文件的绝对路径

File f=new File("d:"+File.separator);
           File[] files=f.listFiles();
          for(File file:files){
              System.out.println(file);
          }

参考文章

posted @ 2017-05-26 08:10  爱撒谎的男孩  阅读(331)  评论(0编辑  收藏  举报