一、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. SQL Server2012数据库开启远程连接

    在我们使用SQL Server数据库的时候很重要的一点就是开启数据库的远程连接,这是因为很多时候数据库部署在远程的服务器上会比较方便,而部署在客户端的话,由于客户端不固定,所以需要经常去部署,这样容易 ...

  2. chrome中 GET /undefined 404

    Chrome中调试网站,会出现 这是由 crxMouse Chrome™ 手势 引起的,关闭即可

  3. MySQL列类型选择

    比如年龄这个字段可以使用  1990-03-15  也可以用  19900315表示在列类型上可以选择 char 和 int:如果一个字段可以选择多种类型,尽量选择一个更快的类型:字段类型优先级   ...

  4. Multiple websites on single instance of IIS

    序幕 通常需要在单个IIS实例上托管多个网站,主要在开发环境中,而不是在生产服务器上.我相信它在生产服务器上不是一个首选解决方案,但这至少是一个可能的实现. Web服务器单实例上的多个网站的好处是: ...

  5. luogu P1077 摆花

    这道题看似好难,但是其实很简单 先把题目中所让你设的变量都设好,该输入的都输入 你会发现这道题好像成功了一半,为什么呢??? 因为设完后你会发现你不需要再添加任何变量,已经足够了. 可能最难的地方,就 ...

  6. 洛谷P1083借教室题解

    题目 这个难度感觉并没有那么高,因为这个题暴力也好打,但是比较难想出正解,因为如果你不看标签是很难想到这个题竟然是二分,当然前缀和应该很好想,毕竟让你求的是在某段时间内借教室的和是否满足. 这样我们可 ...

  7. xml 模块

    XML ———可扩展的标记语言 也是一种通用的数据格式 之所以用它 也是因为跨平台 XML 的语法格式: 1,任何的起始标签都必须有一个结束标签. <> 起始标签 </>结束标 ...

  8. springMVC整理02--常用注解的使用

    1.使用@RequestMapping  映射请求 1.1在类和方法上添加@RequestMappingSpringMVC 使用@RequestMapping 为控制器指定可以处理哪些 URL 请求. ...

  9. selenium+python启动Firefox浏览器失败问题和点击登陆按钮无效问题

    问题1:使用python+selenium编写脚本调用Firefox时报错:

  10. 【AGC018F】Two Trees 构造 黑白染色

    题目描述 有两棵有根树,顶点的编号都是\(1\)~\(n\). 你要给每个点一个权值\(a_i\),使得对于两棵树的所有顶点\(x\),满足\(|x\)的子树的权值和\(|=1\) \(n\leq 1 ...