Java第三阶段学习(一、IO流------File类)

一、IO概述:

把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作。JAVA软件往电脑硬盘上走叫输出。

把硬盘中的数据读取到到内存里叫做:输入(读)Input操作。电脑硬盘上往JAVA软件里走叫输入。

以JAVA软件为参照物。

这种输入输出的动作叫做IO操作。

二、File类(文件类)

2.1定义:File是文件和目录(文件夹)路径名的抽象表现形式,即:JAVA把文件和目录都封装为File对象

2.2构造函数:

       //File构造方法无法判定你写的这个文件是否真的存在
        //第一种方法,直接填写路径
        File f=new File("e:\\java\\dandan.java");//写路径时写两道杠,用来转译‘\‘ 符号
        System.out.println(f);
        //第二种方法,将路径跟文件名分开写作字符串,比较灵活
        String parent="e:\\java";
        String child="dandan.java";
        File f2=new File(parent,child);
        System.out.println(f2);
        //第三种方法,将父类的路径变为文件对象,子类还是字符串  最为灵活
        File p=new File("d:\\java");
        String c="b.java";
        File f3=new File(p,c);
        System.out.println(f3);

 2.3File类相关信息的获取方法:

            //绝对路径
        File f=new File("e:\\study\\codetool\\jdk\\src.zip");
        //获取文件或文件夹的名称
        System.out.println(f.getName());
        //getPath相当于toString方法得到的值
        System.out.println(f.getPath());
        //得到文件的字节数(Long类型的值)
        System.out.println(f.length());
                  //获得绝对路径:getAbsolutePath()
        //当你写相对路径的时候,会获得工程根路径+相对路径     但是不会判断是否正确
        File f=new File("src");
        System.out.println(f.getAbsolutePath());

2.4 文件和文件夹的创建删除方法:

                //创建文件   createNewFile()
        File f=new File("e:\\java\\xxx.java");
        f.createNewFile();
        //创建文件夹   mkdir
        File f=new File("e:\\java\\aaa\\bbb\\ccc");
        //f.mkdir();
        //创建多级文件夹 .mkdirs()  尽量用这个方法,比上面只能创建一个的好用
        f.mkdirs();
            //删除文件夹
        File f=new File("e:\\java\\新建文件夹");
        //多重路径下的需要先删底层的,一步步删上来
        //f.delete();
        //注意:delete() 方法删除的文件或文件夹是不走回收站的,直接从硬盘删除
        //删除需谨慎,一般不用这个方法,因为找不回来
                //.exists() 可以验证路径及文件是否存在,并返回一个true或false
                File f=new File("e:\\java\\nishizhuma.txt");
        System.out.println(f.exists());
        // .isDirectory()       判断文件对象是否是文件夹
        System.out.println(f.isDirectory());
        //.isFile()     判断文件对象是否是文件
        System.out.println(f.isFile());          

2.5 listFiles()方法:

用来获取一个目录中所有的文件或文件夹。

        File f=new File("e:\\java");
        //获取该路径下的所有文件和文件夹的字符串
        String[] filearr=f.list();
        for(String s:filearr){
            System.out.println(s);  //打印的是文件名
        }
        //将所有文件存入一个数组中
        File[] file=f.listFiles();
        for(File f1:file){
            System.out.println(f1); //打印的是路径+文件名
        }

注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件

1,指定的目录必须是存在的,

2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException

 2.6 文件过滤器:

File类中重载的listFiles方法,并且接受指定的过滤器。

  过滤器的使用:

public static void main(String[] args) {
        File f=new File("e:\\java");
        getFile(f);

    }
public static void getFile(File f){
        //通过文件过滤器,将返回为true的文件存入数组中
        File[] file=f.listFiles(new MyFilter());     //new  MyFilter()  文件过滤器
        for(File f1:file){
            System.out.println(f1);
        }
    }

自定义一个过滤器类:只打印名称以.java结尾的文件

package com.oracle.Demo01;

import java.io.File;
import java.io.FileFilter;

public class MyFileter implements FileFilter {

    @Override
    public boolean accept(File pathname) {
        if(pathname.isDirectory()){
            return true;
        }
        //将文件名称全部转小写   因为在windows系统中,文件名称是不区分大小写,但是在java文件中是区分的,所以需要先转换为小写
        return pathname.getName().toLowerCase().endsWith(".java");
    }

}

原文地址:https://www.cnblogs.com/0328dongbin/p/9203071.html

时间: 2024-08-10 18:27:41

Java第三阶段学习(一、IO流------File类)的相关文章

Java—IO流 File类的常用API

File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { //

Java第三阶段学习(四、缓冲流)

一.缓冲流: Java中提供了一套缓冲流,它的存在,可提高IO流的读写速度 缓冲流,根据流的分类分为:字节缓冲流与字符缓冲流. 二.字节缓冲流: 字节缓冲流根据流的方向,共有2个: 1.写入数据到流中,字节缓冲输出流 BufferedOutputStream 2. 读取流中的数据,字节缓冲输入流 BufferedInputStream 它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度 2.1字节缓冲输出流 BufferedOutputStream类 public cla

IO流----File类的常用方法

package com.qf.day18_3; import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.util.Date; /** * File类 * * @author wgy * */ public class Demo1 { public static void main(String[] args) throws Exception { // separato

201671010117 2016-2017-2 《Java程序设计》Java第三周学习心得

Java第三周学习心得 通过这一周的学习,了解到了Java的核心部分,理解了用户自定义类的定义 ,了解了对象的声明 ,了解了使用构造函数初始化对象 ,使用类属性与方法的使用,了解了package和import语句的用途,知道了假设你面对现实世界的一个对象,你不会把它的属性和处理方法分开,程序设计也是一样.面向对象程序设计(OOP):一种新的思维方法,更接近人类处理现实世界问题的自然表示方法.面向对象的语言有:C++,Smalltalk,Java等.面向对象程序设计的几个主要概念:抽象数据类型.类

20165210 Java第三周学习总结

20165210 Java第三周学习总结 教材学习内容总结 - 第四章学习总结 编程语言的几个发展阶段: 面向机器语言 面向过程语言 面向对象语言 类: 类声明: class People { ... } class 动物 { ... } 类体: class People { 类体的内容 } class 动物 { 类体的内容 } 成员变量: 1. 类型: class Factory { float [] a; Workman zhang; } class Workman { double x;

Java第三阶段复习

Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给了spring 的容器来创建bean对象及维护关联关系 解决:解决了上层建筑严重依赖下层建筑的问题,实现了上层建筑对下层建筑的控制 实现:DI[Dependency Injection], xml解析+反射+容器+设计模式 2. Aop: 定义:Aspect Oreinted Programming

JAVA之IO技术File类的使用

package ioTest.io3; /* * File类是对文件和文件夹的抽象. * File类的常见方法: * 1.创建 * createNewFile():在指定的位置创建文件,如果该文件已经存在,则不创建,返回false. * 和输出流对象不一样,输出流对象,只要已建立就创建,如果文件存在,则覆盖. * mkdir():创建此抽象路径名指定的目录 * mkdir():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录. * 2.删除 * delete() * deleteOnEx

java io包File类

1.java io包File类, Java.io.File(File用于管理文件或目录: 所属套件:java.io)1)File对象,你只需在代码层次创建File对象,而不必关心计算机上真正是否存在对象文件. file类的几个常用方法:file.canRead() boolean ,file.canWrite() boolean,file.canExecute() boolean,file.createNewFile() boolean.(1)file.createNewFile() boole

Java学习之IO流

转载链接:https://blog.csdn.net/zhaoyanjun6/article/details/54292148 Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作. IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了