一、File类:将文件或者文件夹封装成对象。

    方便对文件和文件夹的属性信息进行操作。

    File对象可以作为参数传递给流的构造函数。

  注意: 文件夹名称也可带有扩展名。

    构造函数:
        File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

                如: File f1 = new File("c:\\abc\\a.txt");
                或:File f1 = new File("a.txt");

        File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例

                如: File f2 = new File("c:\\abc","b.txt");

        File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例

                如: File d = new File("d:\\abc");
                   File f3 = new File(d,"c.txt");

      目录分割符: tatic String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。

          作用 : 为了解决路径名称字符串中的“\\”不具有跨操作系统平台性的问题。
          如:"c:\\abc\\a.txt" 可以改写为: "c:"+File.separator+"abc"+File.separator+"a.txt" 。

    其它方法:

      1、创建:
          boolean createNewFile() 在调用的对象指定路径下不存在指定文件时,创建这个文件,并返回true,否则返回false。

          boolean mkdir() 创建此抽象路径名指定的目录,如果目录已存在,则不创建,返回false(只能创建一级目录)。
          boolean mkdirs()创建此抽象路径名指定的目录,如果目录已存在,则不创建,返回false(可以创建多级目的)。

      2、删除:
          boolean delete()  在调用的对象指定路径下存在指定文件时,删除这个文件,并返回true,否则返回false。

          void deleteOneExit()  在虚拟机退出的时候,删除调用对象指定路径下的文件。

      3、判断:
          boolean exists() 测试此抽象路径名表示的文件或目录是否存在。存在就返回true, 否则返回false。

          boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。

          boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。

        注意:在需要判断文件对象是文件还是目录时,必须先判断该文件对象封装的内容是否存在。!!

          boolean isHidden() 测试此文件是否为一个隐藏文件。

          boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。

          boolean canExecute() 判断该路径对应文件是否问可执行文件,可执行返回true,否则返回false。
          boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。
          boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。

      4、获取:
          String getName() 返回由该File对象锁表示的的文件或者文件夹的名称(只是名字)。

          String getPath()返回此File对象创建时传入的路径。
          String getAbsolutePath()返回此File对象表示文件或文件夹的绝对路径。
          File getAbsolutePath()返回此File对象表示文件或文件夹的绝对路径(该路径被封装成File对象)。

          String getParent()返回此File对象表示的父目录(该父目录只是建立File对象时传入的路径上的父目录)。

          long lastModified() 返回此File对象所表示文件或文件夹最后一次被修改的时间。

          long length() 返回由此抽象路径名表示的文件的长度。(即 大小)。

          boolean renameTo(File dest) 为File对象指定文件改名字(路径也可以改,类似剪切并改名)

      5、List方法:

          Static File[] listRoots() 列出可用的系统根目录(如:c/d/e/f盘)

          String[] list()    返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
          String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
                  (包含隐藏文件,且调用该方法的File对象封装的是一个存在的目录,是文件就会返回空)

          File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

          File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

          File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。

        这其中的FilenameFilter是过滤器, 要另外新建(实现FilenameFilter接口的类,只有一个方法,一般匿名内部类)

二、Propperties类

    Properties是HashTable的子类,就是说其具有Map集合的特点,而且其中存储的键值对都是字符串。
    我们可以使用Map集合的共有方法(keySet,或者entrySet等方法),也可以使用其特有的方法来操作数据。

    因为Properties是一个与IO技术相结合的容器,所以我们一般使用其特有的方法类操作数据。

    作用: 可以用于键值对形式的配置文件。(所以我们在加载数据的时候就要有固定的格式: 键 = 值 )。

    String getProperty(String key) 用指定的键在此属性列表中搜索属性。

    String getProperty(String key, String defaultValue) 用指定的键在属性列表中搜索属性。

    void list(PrintStream out) 将属性列表输出到指定的输出流。

    void list(PrintWriter out) 将属性列表输出到指定的输出流。

    void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。

    void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。

    

void store(Writer writer, String comments) 
          以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
 void store(OutputStream out, String comments) 
          以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

io系列之其他类的更多相关文章

  1. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  2. java io系列01之 "目录"

    java io 系列目录如下: 01. java io系列01之  "目录" 02. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括 ...

  3. java io系列06之 序列化总结(Serializable 和 Externalizable)

    本章,我们对序列化进行深入的学习和探讨.学习内容,包括序列化的作用.用途.用法,以及对实现序列化的2种方式Serializable和Externalizable的深入研究. 转载请注明出处:http: ...

  4. Java IO系列之一:IO

    1. 概述 Java IO一般包含两个部分: 1.java.io包中堵塞型IO: 2.java.nio包中的非堵塞型IO,通常称为New IO. java.io包下,分为四大块近80个类: 1.基于字 ...

  5. io系列之字符流

    java中io流系统庞大,知识点众多,作为小白通过五天的视频书籍学习后,总结了io系列的随笔,以便将来复习查看. 本篇为此系列随笔的第一篇:io系列之字符流. IO流 :对数据的传输流向进行操作,ja ...

  6. java io系列02之 ByteArrayInputStream的简介,源码分析和示例(包括InputStream)

    我们以ByteArrayInputStream,拉开对字节类型的“输入流”的学习序幕.本章,我们会先对ByteArrayInputStream进行介绍,然后深入了解一下它的源码,最后通过示例来掌握它的 ...

  7. java io系列04之 管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例

    本章,我们对java 管道进行学习. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_04.html java 管道介绍 在java中,PipedOu ...

  8. java io系列05之 ObjectInputStream 和 ObjectOutputStream

    本章,我们学习ObjectInputStream 和 ObjectOutputStream ObjectInputStream 和 ObjectOutputStream 介绍 ObjectInputS ...

  9. java io系列20之 PipedReader和PipedWriter

    本章,我们学习PipedReader和PipedWriter.它们和“PipedInputStream和PipedOutputStream”一样,都可以用于管道通信. PipedWriter 是字符管 ...

随机推荐

  1. 错误模块名称: KERNELBASE.dll错误

    今天在部署一个C/S程序的时候出了bug,日志都没有记载:本地调试当然是没问题的,所以不是代码问题,百度之发现KERNELBASE.dll这个文章说的比较靠谱,仔细研究了自己的配置文件后,果然是配置文 ...

  2. Cherry.chen window.clipboardData实现剪切板操作总结 (好像只有ie好用)

    window.clipboardData的作用是在页面上将需要的东西复制到剪贴板上,提供了对于预定义的剪贴板格式的访问,以便在编辑操作中使用. 三个方法 (1)clearData(sDataForma ...

  3. 启动docker容器 防火墙问题报错 ! -i docker0' failed: iptables: No chain/target/match by that name.

    COMMAND_FAILED: '/sbin/iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 8111 -j DNAT --to-destination ...

  4. AtCoder Beginner Contest 120 D - Decayed Bridges(并查集)

    题目链接:https://atcoder.jp/contests/abc120/tasks/abc120_d 题意 先给m条边,然后按顺序慢慢删掉边,求每一次删掉之后有多少对(i,j)不连通(我应该解 ...

  5. npm 和package.json 文件

    你可能还记得使用vue-cli 创建vue项目.当创建项目完成后,我们进入到项目目录,启动cmd命令窗口,输入npm install,它就会安装一堆东西(依赖),然后再输入npm run dev, 我 ...

  6. BZOJ1412[ZJOI2009]狼和羊的故事——最小割

    题目描述 “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈 ...

  7. 大学java教案之MySQL安装图解

    一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行"setup.exe". 2.选择安装类型,有"Typ ...

  8. [ZJOI2009]函数 题解

    题目链接:[ZJOI2009]函数 对于$n=1$的情况,直接输出$1$ 对于$n>1$的情况,由于我们可以将图上下反转,所以第$k$层的情况可以被转成第$n-k+1$层 规律自己打个表可以推出 ...

  9. 【BZOJ3132】【TYVJ1716】上帝造题的七分钟 二维树状数组

    题目大意 维护一个\(n\times m\)的矩阵,有两种操作: \(1~x_1~y_1~x_2~y_2~v\):把\((a,b),(c,d)\)为顶点的矩形区域内的所有数字加上\(v\). \(2~ ...

  10. 【 HDU 1538 】A Puzzle for Pirates (海盗博弈论)

    BUPT2017 wintertraining(15) #5D HDU 1538 偷懒直接放个果壳的链接了,感觉比网上直接找这题的题解要更正确.易懂. 海盗博弈论 代码 #include <cs ...