1

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);
          }
更多文章请移步本人博客https://chenjiabing666.github...

码猿技术专栏
486 声望105 粉丝