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. 使用Python + Selenium破解滑块验证码

    在前面一篇博客<使用 Python + Selenium 打造浏览器爬虫>中,我介绍了 Selenium 的基本用法和爬虫开发过程中经常使用的一些小技巧,利用这些写出一个浏览器爬虫已经完全 ...

  2. 《HTTP - https》

    一:HTTP 缺点? - 明文通讯(也是最受诟病的一个缺点) - 不验证对方的身份(你说你是你?你怎么证明你是你呢?) - 无法验证报文的完整性,可能已经被篡改(在挨打的边缘,来回试探) 二:HTTP ...

  3. 7620N路由器刷openwrt系统并配置***

    之前一直用goAgent***,主要用gmail.逛逛twitter.youtube.维基百科.加速stackoverflow等等.但goAgent只能PC使用,手机.iPad都不能用,直到我拿到了一 ...

  4. 并查集——易爆物D305

    部分内容摘自博客http://blog.csdn.net/u012881011/article/details/46883863,感谢 易爆物D305             运行时间限制:1000m ...

  5. 27-4-DMA2D图形加速器

    在实际使用 LTDC 控制器控制液晶屏时,使 LTDC 正常工作后,往配置好的显存地址写入要显示的像素数据, LTDC 就会把这些数据从显存搬运到液晶面板进行显示,而显示数据的容量非常大,所以我们希望 ...

  6. 【JMeter】【性能测试】分布式远程服务器

    jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...

  7. 亚马逊IOT-SDK,线程池数

    1111

  8. 2018-2019-1 20189221 《Linux内核原理与分析》第八周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第八周作业 实验七 编译链接过程 gcc –e –o hello.cpp hello.c / gcc -x cpp-o ...

  9. 给下拉列表添加options

    var myOptions = { val1 : 'text1', val2 : 'text2' }; var mySelect = $('#mySelect'); $.each(myOptions, ...

  10. Java学习路径及练手项目合集

    Java 在编程语言排行榜中一直位列前排,可知 Java 语言的受欢迎程度了. 实验楼上的[Java 学习路径]中将首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE ...