一、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中时间字段为DateTime和VarChar的区别

    在设计数据库的时候varchar类型是一个非常常见的类型,很多字段都可以使用这个类型,所以有时候在设计数据库的时候就很容易习惯性设计该类型,比如说时间类型,我们既可以DateTime类型,又可以使用v ...

  2. JQ 动态修改/替换某个节点的内容

     <div class="box">我们定位于中国心理行业第一<div> $(".box").html($(".box&quo ...

  3. xml-dtd

    dtd用于校验XML的语法. dtd步骤: 1.看XML中有多少个元素,有几个元素,在dtd文件中写几个<!ELEMENT> 2.判断元素是简单元素还是复杂元素 -复杂元素:有子元素的元素 ...

  4. Ubuntu Firefox HTML5

    sudo apt-get install ubuntu-restricted-extras

  5. 使用Spring的@Scheduled实现定时任务参数详解

    Spring配置文件xmlns加入 xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocati ...

  6. nargin

    nargin 编辑 nargin为“number of input arguments”的缩写. 在matlab中定义一个函数时, 在函数体内部, nargin是用来判断输入变量个数的函数.在matl ...

  7. 前端base64、baseurl加解密和RSA加解密

    由于项目最近要进行安全测试,前端的用户和密码都是明文数据传送给后台那里,其实这样很很不安全的,容易泄露个人信息和密码.中间服务器的同事就提出,可以通过前端接收公钥,利用公钥对密码进行加密,把加密过密码 ...

  8. 【建模应用】PLS偏最小二乘回归原理与应用

    @author:Andrew.Du 声明:本文为原创,转载请注明出处:http://www.cnblogs.com/duye/p/9031511.html,谢谢. 一.前言 1.目的: 我写这篇文章的 ...

  9. linux中安装gcc

    在使用CentOS的yum -y install  时 可以先进入  /etc/yum.repos.d/ 文件下,将CentOS-Base.repo文件名改为CentOS-Base.repo.bak使 ...

  10. Django 下载和初识

    Django Django官网下载页面 安装(安装最新LTS版): pip3 install django==1.11.9 创建一个django项目: 下面的命令创建了一个名为"mysite ...