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());
}
}
}

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

  1. 在java poi导入Excel通用工具类示例详解

    转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36   作者:daochuwenziyao   我要评论   这篇文章主要给大家介绍了关于在j ...

  2. (java基础)Java输入输出流及文件相关

    字节流: 所有的字节输入输出都继承自InputStream和OutputStream,通常用于读取二进制数据,最基本单位为单个字节,如图像和声音.默认不使用缓冲区. FileInputStream和F ...

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

    目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...

  4. java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  5. Java输入/输出流体系

    在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...

  6. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  7. java输入输出流总结 转载

    一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是 ...

  8. Java输入输出流(转载)

    转自http://blog.csdn.net/hguisu/article/details/7418161 目录(?)[+] 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作 ...

  9. Java输入输出流(1)

    1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java全部的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...

随机推荐

  1. webstorm背景颜色更改

    一.file --> settings 二.editor-->color scheme  然后右边下拉选择 三.apply -- > ok

  2. Asp.net中"正在中止线程"错误解决方法

    项目中出现“正在中止线程”问题,百度后台发现,都是因为用到Response.End.Response.Redirect 或 Server.Transfer 方法. 原因: Response.End 方 ...

  3. document.forms用法示例介绍

    概述 forms 返回一个集合 (一个HTMLCollection对象),包含了了当前文档中的所有form元素. 语法 var collection = document.forms; documen ...

  4. 深入理解为什么应该使用transform来替代top

    话说,这个问题我们得从浏览器得渲染机制说起: 我们先来理解一下 重绘(Repainit)和 回流(Reflow): 重绘:当节点需要更改外观而不会影响布局得,比如改变 color 就称为重绘: 回流: ...

  5. C#图解:第七章

    C#图解第七章:类和继承 1.类继承 通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展. 1.可以使用- 一个已经存在的类作为新类的基础..已存在的类称为基类(baseclass),新 ...

  6. Mysql事务原理介绍

    事务 一个事务会涉及到大量的cpu计算和IO操作,这些操作被打包成一个执行单元,要么同时都完成,要么同时都不完成. 事务是一组原子性的sql命令或者说是一个独立的工作单元,如果数据库引擎能够成功的对数 ...

  7. 【SVM】周志华

    一.书籍(121-139)

  8. 让IIS6支持任意扩展名和未知扩展名的下载

    IIS6的安全性提高了很多,为了防止扩展名欺骗带来的安全性问题,限制了扩展名MIME类型. IIS6 只为对具有已知文件扩展名的文件的请求提供服务.如果请求内容的文件扩展名未映射到已知的扩展,则服务器 ...

  9. javascript篇-知道value值,返回对象中的key值

    前提是,value值是唯一的,业务中有这样一个需求,代码如下:

  10. java.lang.UnsatisfiedLinkError: dlopen failed: library "libsqlite.so" not found

    项目在7.0以下系统的手机上运行正常,但在7.0的手机上运行异常. 出现这个问题的原因是:从 Android 7.0 开始,Android系统将阻止应用动态链接非公开 NDK 库. 解决方法有两种 第 ...