Java输入输出流(NIO)-----文件类File详解

   1.java.io.File类简介

  • 凡是与输入、输出相关的类、接口等都定义在java.io包下
  • File是一个类,可以有构造器创建其对象。此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录
  • File类对象是与平台无关的
  • File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及文件内容的,File是无能为力的,必须由io流来完成
  • File类的对象常作为io流的具体类的构造器的形参

   2.createNewFile()  delete()  lastModified()   exists() 

package com.nio.File;

import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
 * 文件操作
 * @author yyx
 * 2019年1月15日
 */
public class FileOperateFirst {
    public static void main(String[] args) {
        String filePath = "D:" + File.separator + "testfile.txt";
        System.out.println(filePath);

        File file = new File(filePath);

        // 判断文件是否存在且是不是文件
        if (file.isFile() && file.exists()) {
            // 删除文件
            file.delete();
        } else {
            try {
                // 创建文件
                file.createNewFile();
                // 打印文件最后编辑时间
                System.out.println(new Date(file.lastModified()));
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

   3.mkDir()  mkDirs()  list()  listFiles()

package com.nio.File;

import java.io.File;
import java.io.IOException;

/**
 * 文件操作
 *
 * @author yyx 2019年1月15日
 */
public class FileOperateSecond {
    public static void main(String[] args) {
        String mkdirPath = "D:" + File.separator + "testfile";
        File mkdirFile = new File(mkdirPath);
        // isDirectory() 测试此抽象路径名表示的文件是否为目录
        if (!mkdirFile.exists() && !mkdirFile.isDirectory()) {
            // mkDir():创建一个文件目录。只有在上层文件目录存在的情况下,才能返回true
            System.out.println(mkdirFile.mkdir());
        }

        String mkdirsPath1 = "D:" + File.separator + "testfile1" + File.separator + "file1";
        File mkdirsFile1 = new File(mkdirsPath1);
        if (!mkdirsFile1.exists() && !mkdirsFile1.isDirectory()) {
            // 此处因testfile1目录不存在,故报错
            // System.out.println(mkdirsFile1.mkdir());
        }

        String mkdirsPath2 = "D:" + File.separator + "testfile" + File.separator + "file2" + File.separator + "file3";
        File mkdirsFile2 = new File(mkdirsPath2);
        if (!mkdirsFile2.exists() && !mkdirsFile2.isDirectory()) {
            // mkDirs():创建一个文件目录。若上层文件目录不存在,一并创建
            System.out.println(mkdirsFile2.mkdirs());
        }

        /*
         * 只有上级目录存在,才能在该目录下创建文件
         */
        String filePath1 = "D:" + File.separator + "testfile1" + File.separator + "filepath.txt";
        File file1 = new File(filePath1);
        if (!file1.exists()) {
            try {
                // 报错 系统找不到指定的路径
                // file1.createNewFile();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        String filePath2 = "D:" + File.separator + "testfile" + File.separator + "file2" + File.separator
                + "filepath1.txt";
        File file2 = new File(filePath2);
        if (!file2.exists()) {
            try {
                System.out.println(file2.createNewFile());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        /*
         * list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
         * listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件 可以使用递归循环取出目录下的文件和目录
         */
        File file3 = new File(mkdirPath);
        String[] strs = file3.list();
        for (int i = 0; i < strs.length; i++) {
            System.out.println(strs[i]);
        }

        System.out.println("*******************");

        File[] files = file3.listFiles();
        for (int i = 0; i < files.length; i++) {
            System.out.println(files[i].getName());
        }
    }
}

原文地址:https://www.cnblogs.com/fengfuwanliu/p/10214558.html

时间: 2024-10-06 09:51:17

Java输入输出流(NIO)-----文件类File详解的相关文章

Java文件类File详解

java.io.File类 凡是与输入.输出相关的类.接口等都定义在java.io包下 File是一个类,可以有构造器创建其对象.此对象对应着一个文件(.txt .avi .doc .ppt .mp3 .jpg)或文件目录 File类对象是与平台无关的 File中的方法,仅涉及到如何创建.删除.重命名等等.只要涉及文件内容的,File是无能为力的,必须由io流来完成 File类的对象常作为io流的具体类的构造器的形参 一.createNewFile()  delete()  lastModifi

java输入输出流及文件操作

*Author:Yuanhonglong *Date:2013-11-29 *1948281915package mine.file.Read_Write;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java

Java输入输出流和文件操作

操作系统中的文件和目录概念 文件与文件系统 文件是信息的一种组织形式,是存储在外部存储介质上的具有标志名的一组相关信息集合. 文件系统用文件概念来组织和管理存放在各种介质上的信息.文件系统提供目录机制实现文件的"按名存取". 目录结构与文件检索 目录是文件系统组织和管理文件的基本单位,目录中保存它所管理的每个文件的基本属性信息(成为文件目录项或文件控制块).除了文件外,目录中还可以包含子目录和文件,子目录中还可以再有子目录和文件,由此构成目录的多级树状结构.文件是这种树状结构的叶子节点

Java记录 -22- Java的基类Object详解

Java的基类Object详解 Java的JDK文档要经常查阅使用,最好查看英文的文档. java.lang.Object 类,java.lang包在使用的时候无需显示导入,编译时由编译器自动帮助我们导入. API(Application Programinga Interface),应用编程接口. Object obj = new Object(); System.out.println(obj); System.out.println(obj.toString()); 上面打印的两个内容一样

java输入输出流复制文件所用时间对比

package com.edu.xynu; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class IOUnitCopy { //按字节 public st

java开发知识IO知识之输入输出流以及文件

java开发知识IO知识之输入输出流以及文件 一丶流概述 流十一组有序的数据序列.根据操作的类型,可以分为输入流跟输出流两种. IO(input/output)输入/输出流提供了一条通道程序.可以使用这条通道把源的字节序列送到目的地 简单来说. 就是操作二进制. 二进制提供了读写功能. 写就是输出. 读就是输入. 输入输出流图示: 输入流讲解 InputStream类. 1. 输入流以及类层次结构 输入流就是从"文件" 读取到内存. 这个文件是抽象的.意思就是不管什么内容从硬盘也好.任

Java输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

java输入输出流总结 转载

一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.      任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法.Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO.    

【转载】Java输入输出流-IO

转自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核