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. Java中 == 和 equals()详解

    java中的数据类型分为两种: 一 .基本数据类型: byte.short.int.long.float.double.char.boolean 比较它们需要用  ==  ,比较的是它们的值是否相等 ...

  2. eclipse: eclipse导入工程出现大红叹号

    总结: 问题原因:工程中classpath中指向的包路径错误 解决办法:到BUILDPATH CONFIG````中,liberaies中 出现红色叉号的包为路径错误的包.到classpath中修改相 ...

  3. CoordinatorLayout的使用

    最近项目有一个需求,做出类似闲鱼鱼塘界面的效果.如下图: 所以想到用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout去搭建此界面. Coor ...

  4. 参考:Python 调试方法

    地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/ 这是Python代码调试技巧,也是我今天从别的地方看到的,然后转载 ...

  5. IDEA配置Tomcat

    如何用IDEA写Servlet在我别的博文有! 注意:如果不能成功启动Tomcat,很有可能是JDK版本和Tomcat版本不匹配,此时你可以降低JDK版本试试

  6. 鸟哥Linux学习笔记03

    1, 在Linux中,默认情况下所有的系统上的账号都记录在/etc/passwd这个文件内,密码记录在/etc/shadow这个文件下,所有的组名都记录在/etc/group内,这三个文件可以说是Li ...

  7. Spring配置文件的命名空间URI

    Spring配置文件介绍 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=" ...

  8. windows10 下安装node失败 出现2502 2503的解决办法

    下载node出现以下异常    : the install has encountered an unexpected errer installing this package.this may i ...

  9. 《HiBlogs》重写笔记[1]--从DbContext到依赖注入再到自动注入

    本篇文章主要分析DbContext的线程内唯一,然后ASP.NET Core的注入,再到实现自动注入. DbContext为什么要线程内唯一(非线程安全) 我们在使用EF的时候,可能使用相关框架封装过 ...

  10. pytorch实现VAE

    一.VAE的具体结构 二.VAE的pytorch实现 1加载并规范化MNIST import相关类: from __future__ import print_function import argp ...