JavaIO基础内容

IO技术概述

  • Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作

  • Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作

上面两种操作成为IO操作

File类

  • File类是文件和目录路径名的抽象表示形式,Java中把文件或者目录(文件夹)都封装成File对象.

  • 当new一个File类的时,并不是去判断是否存在,只是创建出一个文件对象用来调用其内置方法

  • File类的构造方法

    • File(String pathname) // 项目全路径

    • File(String parent,String childen) // 父路径和子路径, 更加具有灵活性

    • File(File parent, String child) // 父路径用File类表示,这样可以调用File内的内置方法

  • File类的主要函数

    • mkdir() : 创建文件夹 如果存在这样的文件夹,就不创建了

    • mkdirs() : 创建文件夹,如果父文件夹不存在,会帮你创建出来

    • delete() : 删除文件或者文件夹

    • createNewFile() : 创建文件 如果存在这样的文件,就不创建了

    • getName() : 返回路径中表示的文件或者文件夹名

    • getAbsolutePath() : 获取绝对路径,返回String对象

    • getAbsoluteFile() : 获取绝对路径,返回File对象

    • exists() : 判断File构造方法中封装路径是否存在

    • isDirectory() : 判断File构造方法中封装的路径是不是文件夹

    • isFile() : 判断File构造方法中封装的路径是不是文件

    • String[] list() : 获取到File构造方法中封装的路径中的文件名和文件夹名

    • File[] listFiles() : 获取到,File构造方法中封装的路径中的文件和文件夹 返回的是FIle数组

    • File[] listRoots() : 列出可用的文件系统根 , windows下即盘符

  • 文件过滤 查找包含指定文件名的文件

  • 递归遍历目录的方法

    		public class FileDemo {
    public static void main(String[] args) {
    File dir = new File("d:\\eclipse");
    getAllDir(dir);
    }
    /*
    * 定义方法,实现目录的全遍历
    */
    public static void getAllDir(File dir){
    System.out.println(dir);
    //调用方法listFiles()对目录,dir进行遍历
    File[] fileArr = dir.listFiles();
    for(File f : fileArr){
    //判断变量f表示的路径是不是文件夹
    if(f.isDirectory()){
    //是一个目录,就要去遍历这个目录
    //本方法,getAllDir,就是给个目录去遍历
    //继续调用getAllDir,传递他目录
    getAllDir(f);
    }else{
    System.out.println(f);
    }
    }
    }
    }
  • 文件过滤器

过滤一个目录下的指定扩展名的文件,或者包含某些关键字的文件夹

  • public String[] list(FilenameFilter filter)

  • public File[] listFiles(FileFilter filter)

实现过滤的时候需要自行编写过滤类并且实现 FilenameFilter / FIleFilter

			public class MyFilter implements FileFilter{
public boolean accept(File pathname) {
/*
* pathname 接受到的也是文件的全路径
* c:\\demo\\1.txt
* 对路径进行判断,如果是java文件,返回true,不是java文件,返回false
* 文件的后缀结尾是.java
*/
//String name = pathname.getName();
return pathname.getName().endsWith(".java"); }
}
  • 使用 File[] fileArr = file.listFiles(new MyFilter());

IO基础内容(File)的更多相关文章

  1. 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇

    本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  2. 总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇

    本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  3. 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  4. Java输入输出流(IO)-----文件类File详解

       1.java.io.File类简介 凡是与输入.输出相关的类.接口等都定义在java.io包下 File是一个类,可以有构造器创建其对象.此对象对应着一个文件(.txt .avi .doc .p ...

  5. Java基础之File类的使用

    Java基础之File类的使用 1.File类的构造方法和常用方法 2.对File中listFile(FileNameFilter name)学习 3.与File文件类相关的实现 File类的构造方法 ...

  6. (数据科学学习手札43)Plotly基础内容介绍

    一.简介 Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,本文就将以jupyter notebook ...

  7. Java IO体系之File类浅析

    Java IO体系之File类浅析 一.File类介绍 位于java.io下的Java File类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等.File对 ...

  8. JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...

  9. 归纳从文件中读取数据的六种方法-JAVA IO基础总结第2篇

    在上一篇文章中,我为大家介绍了<5种创建文件并写入文件数据的方法>,本节我们为大家来介绍6种从文件中读取数据的方法. 另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文 ...

随机推荐

  1. java201521123118《java程序设计》第5周总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1. 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过 ...

  2. 201521123067《Java程序设计》第1周学习总结

    1.本周学习总结 在本周的java学习中,我知道了java的发展历程,JDK和JRE以及JVM的区别与联系,并学习了如何安装Eclipse和搭建java的环境,编写出了第一个java程序,明白了jav ...

  3. 201521123050 《Java程序设计》第14周学习总结

    1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 1.1立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) ...

  4. SVM原理以及Tensorflow 实现SVM分类(附代码)

    1.1. SVM介绍 1.2. 工作原理 1.2.1. 几何间隔和函数间隔 1.2.2. 最大化间隔 - 1.2.2.0.0.1. \(L( {x}^*)\)对$ {x}^*$求导为0 - 1.2.2 ...

  5. 《MySQL必知必会》[01] 基本查询

    <MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材< ...

  6. CSS 入门基础

    一.CSS 介绍什么是CSS CSS 指的是层叠样式表(Cascading StyleSheet).在网页制作时采用层叠样式表技术, 可以有效地对页面的布局.字体.颜色.背景和其它效果实现更加精确的控 ...

  7. OpenStack Pike超详细搭建文档 LinuxBridge版

    前言 搭建前必须看我 本文档搭建的是分布式P版openstack(1 controller + N compute + 1 cinder)的文档. openstack版本为Pike. 搭建的时候,请严 ...

  8. call()和apply()的作用

    call( )和apply( )都是为了改变某个函数运行时的上下文而存在的.换句话说是改变函数体内部this的指向 他们的区别就是call()方法接受的是若干个参数的列表,而apply()方法接受的是 ...

  9. Opengl4.5 中文手册—A

    因为opengl API 比较庞大,网络上还没有完整的.较新的opengl中文手册 这对很多人很不方便,所以整理了这一系列,用于帮助大家"快速浏览最新的opengl api" 为了 ...

  10. Ubuntu16.04下安装mysql

    系统信息 (lsb_release -a) Distributor ID: Ubuntu Description: Ubuntu 16.04.2 LTS Release: 16.04 Codename ...