当前位置: 首页 > news >正文

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);
          }

更多文章请移步本人博客https://chenjiabing666.github...

相关文章:

  • C# 委托
  • Tomcat闪退问题
  • left outer join的on不起作用
  • 提高网页打开速度的小技巧【赞】
  • MySQL desc作用
  • 遍历 目录的几种有效办法
  • Nginx Http框架的理解
  • Device eth0 does not seem to be present,delaying initialization
  • Bzoj4488 [Jsoi2015]最大公约数
  • 开源 java CMS - FreeCMS2.6 会员管理
  • C#下RSA算法的实现(适用于支付宝和易宝支付)
  • 监控与管理dubbo服务
  • OC中的@的作用研究
  • Haskell:什么时候该注释,什么时候不该注释
  • DeepMind 开源 Sonnet:在 TensorFlow 中快速构建神经网络
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • echarts花样作死的坑
  • egg(89)--egg之redis的发布和订阅
  • HashMap ConcurrentHashMap
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • IOS评论框不贴底(ios12新bug)
  • Javascript编码规范
  • JavaScript对象详解
  • learning koa2.x
  • MySQL几个简单SQL的优化
  • Mysql数据库的条件查询语句
  • nodejs实现webservice问题总结
  • PAT A1120
  • Redis字符串类型内部编码剖析
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 如何设计一个微型分布式架构?
  • 入手阿里云新服务器的部署NODE
  • 算法之不定期更新(一)(2018-04-12)
  • 提醒我喝水chrome插件开发指南
  • 详解移动APP与web APP的区别
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #pragma预处理命令
  • #考研#计算机文化知识1(局域网及网络互联)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (07)Hive——窗口函数详解
  • (39)STM32——FLASH闪存
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (编译到47%失败)to be deleted
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (十一)手动添加用户和文件的特殊权限
  • (一)基于IDEA的JAVA基础12
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)iOS字体
  • *p++,*(p++),*++p,(*p)++区别?
  • .axf 转化 .bin文件 的方法
  • .NET BackgroundWorker