File类

  文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作

静态成员

  static String pathSeparator  路径分隔符

  File.pathSeparator

  static String separator  名称分隔符

  File.sepatator

绝对路径:一个完整的路径,以盘符开始的路径

相对路径:一个简化的路径,相对于当前项目的根目录

构造方法

  File(String pathname)  通过给定的路径名字符串转换为抽象路径名来创建一个新File实例

  File(String parent,String child)  定义父路径和子路径字符串创建一个File对象

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

常用方法

  获取功能的方法

    getAbsolutePath()  获取绝对路径字符串

    getPath()  将File转换为路径名字符串

    getName()  返回由此File表示的结尾文件或目录名称

    Long length()  返回由此File表示的文件长度,以字节为单位,路径不存在,返回0

  判断功能的方法

    public boolean exits()  此File表示的文件或目录是否存在

    isDirectory()  判断给定的路径是否以文件夹结尾

    isFile()  判断给定的路径是否以文件结尾

  创建删除功能的方法

    creatNewFile()  创建一个空文件

    mkdir()  创建单级文件夹

    nkdirs()  创建多级文件夹

    delete()  删除文件或目录

  遍历目录的功能方法

    String[] list()  返回一个String数组,显示目录中所有文件或目录

    File[] listFiles()  返回一个File数组,显示目录中所有文件或目录

    list和listFiles方法遍历目录,如果目录路径不存在或路径不是一个目录,则报出空指针异常

递归

  指当前方法内调用自己的这种现象

  递归有直接递归和简介递归两种

注意事项

  要有条件限定,保证递归能停下来,递归次数也不能太多,构造方法禁止递归

几种递归使用图

过滤器

  在File类中有两个和listFiles重载的方法,方法的参数传递的就是过滤器

  File[] listFiles(FlieFilter filter)

  FileFilter接口:用于抽象路径名的过滤器

  File[] listFiles(FilenameFilter filter)

  FilenameFilter接口:用于过滤器文件名

使用:创建实现类,重写accept()方法

Lambda优化

输入:把硬盘中的数据,读取到内存中使用

输出:把内存中的数据,写入到硬盘中保存

OutputStream类 字节输出流的抽象类

  FileOutputStream 文件字节输出流  把内存中的数据写入到硬盘中

构造方法

  FileOutputStream(String name)  创建一个向具有指定名称的文件中写入数据的输出文件流

  FileOutputStream(File file)  创建一个向指定File对象表示的文件中,写入数据的文件输出流

  String name:文件路径

  File file:一个文件

常用方法

  

字节输出流使用步骤

续写使用两个带参构造方法

换行  windows:\r\n  linux:\n  mac:\r

FileInputStream 文件字节输入流 把硬盘文件中的数据读取到内存中使用

构造方法

  FileInputStream(String name)

  FileInputStream(File file)

常用方法

使用步骤

文件复制

java-day15的更多相关文章

  1. java - day15 - nstInner

    匿名内部类 package com.javatest.mama; public class Mama { int x = 5; public static void main(String[] arg ...

  2. java - day15 - NonameInner

    匿名内部类 public interface Inter {} interface Inter2{ void show(); } main(){ //错误,接口不能实例化 Inter t = new ...

  3. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  4. 【JAVA零基础入门系列】Day15 对象的比较

    最近一直有事,博客也停笔了一段时间,十分抱歉. 这一篇主要讲讲对象的比较,什么是对象的比较,我们知道两个数值类型只需要用"=="符号即可进行相等判断,但如果是两个Goods对象呢? ...

  5. java基础-day15

    第01天 java面向对象 今日内容介绍 u 包和权限修饰符 u 内部类 第1章   包和权限修饰符 1.1      包的概述 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当 ...

  6. java 多线程 day15 CyclicBarrier 路障

    import java.util.concurrent.CyclicBarrier;import java.util.concurrent.ExecutorService;import java.ut ...

  7. Java之路---Day15(Collection类)

    2019-11-01-22:09:09 目录 1.Collection集合的概念 2.Collection集合常用方法 3.Iterator迭代器 4.增强for 5.Collection常用工具类 ...

  8. java学习第六天集合框架.day15

    Set接口 Set集合存储特点: 不允许元素重复 不会记录元素的添加先后顺序 Set只包含从Collection继承的方法,不过Set无法记住添加的顺序,不允许包含重复的元素.当试图添加两个相同元素进 ...

  9. 【Java入门提高篇】Day15 Java泛型再探——泛型通配符及上下边界

    上篇文章中介绍了泛型是什么,为什么要使用泛型以及如何使用泛型,相信大家对泛型有了一个基本的了解,本篇将继续讲解泛型的使用,让你对泛型有一个更好的掌握和更深入的认识. 上篇中介绍完泛型之后,是不是觉得泛 ...

  10. Java学习day15

    File是文件和目录路径名的抽象表示 文件和目录可以通过File封装成对象 对于File而言,封装的不是一个真正存在的文件,只是一个路径名,它可以存在,也可以不存在,要通过后续操作把路径的内容转换为具 ...

随机推荐

  1. 百度API获取位置范围内的周边服务

    百度地图API是一套为开发者免费提供的基于百度地图的应用程序接口,包括JavaScript.iOS.Andriod.静态地图.Web服务等多种版本,提供基本地图.位置搜索.周边搜索.... <s ...

  2. matlab中的 ndims(a)、length(a)、size(a) 分别是什么意思?

    size(a)表示矩阵每个维度的长度比如size([1 2 3;4 5 6])等于[2 3]表示他有2行3列size([1 2 3])等于[1 3]表示他有1行3列另外size(a,n)表示矩阵a在第 ...

  3. 装nginx遇到的坑 未完待续

    首装nginx时 server { listen 8066;  监听端口号 server_name localhost;   监听地址 location / goldwind{   root /roo ...

  4. 【SVN】提交报错:×××文件is not under version control

    解决方法:1.删除出错的文件,然后在出错文件所在文件夹执行还原操作 2.VS中可将文件先排除在项目外,再包含在项目内,即可正常提交

  5. 用 Flask 来写个轻博客 (3) — (M)VC_连接 MySQL 和 SQLAlchemy

    目录 目录 前文列表 扩展阅读 前言 Models 模型 SQLAlchemy 安装 SQLAlchemy 安装 Mysql 建立 SQLAlchemy 和 Mysql 的连接 前文列表 用 Flas ...

  6. linux jps命令

    原文链接: http://www.cnblogs.com/qlqwjy/p/7928410.html https://blog.csdn.net/u013250071/article/details/ ...

  7. JAVA StringUtils 坑汇总

    1 StringUtils.split() VS String.split(); public static void main(String args[]){            String r ...

  8. error C3867: “std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str”: 函数调用缺少参数列表;请使用“&std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str”创建指向成员的指针

    这个问题找了很多没有找到满意的答案.仔细看了一下,是使用了c_str的问题. 我直接把使用string.c_str的地方使用char*代替即解决问题.

  9. 入门 Webpack,看这篇就够

    写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有限,你可以快速浏览或直接跳过:如果你和十天前的我一样,对很多选项存在着疑惑,那花一段 ...

  10. javascript 学习犯错记录

    看w3c学习js,有时按自己想法来,会出一些莫名奇妙的错误,而这些问题百度到了,但因为学习原因基础不捞,导致看到了答案,却认为这不是答案 1.一个很简单的 一个html,一个js文件 我想在js中的b ...