Java输入输出流(IO)-----文件类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());
}
}
}
Java输入输出流(IO)-----文件类File详解的更多相关文章
- 在java poi导入Excel通用工具类示例详解
转: 在java poi导入Excel通用工具类示例详解 更新时间:2017年09月10日 14:21:36 作者:daochuwenziyao 我要评论 这篇文章主要给大家介绍了关于在j ...
- (java基础)Java输入输出流及文件相关
字节流: 所有的字节输入输出都继承自InputStream和OutputStream,通常用于读取二进制数据,最基本单位为单个字节,如图像和声音.默认不使用缓冲区. FileInputStream和F ...
- java开发知识IO知识之输入输出流以及文件
目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...
- java:利用java的输入/输出流将一个文件的每一行+行号复制到一个新文件中去
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- Java输入/输出流体系
在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...
- Java 输入输出流 转载
转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...
- java输入输出流总结 转载
一.基本概念 1.1 什么是IO? IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是 ...
- Java输入输出流(转载)
转自http://blog.csdn.net/hguisu/article/details/7418161 目录(?)[+] 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作 ...
- Java输入输出流(1)
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java全部的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...
随机推荐
- LeetCode 883 Projection Area of 3D Shapes 解题报告
题目要求 On a N * N grid, we place some 1 * 1 * 1 cubes that are axis-aligned with the x, y, and z axes. ...
- 并查集——合作网络D306
合作网络D306 运行时间限制:1000ms: 运行空间限制:51200KB: 试题描述 有n个结点,初始时每个结点的父结点都不存在.你的任务是执行若干次Set操作和Query ...
- 3.1-uC/OS-III的特点:
1.C/OS-III是一个可扩展的, 可固化的, 抢占式的实时内核, 它管理的任务个数不受限制. 它是第三代内核, 提供了现代实时内核所期望的所有功能包括资源管理.同步.内部任务交流等. uC/OS- ...
- LeetCode-714.Best Time to Buy and Sell Stock with Transaction Fee
Your are given an array of integers prices, for which the i-th element is the price of a given stock ...
- AutoML初创公司探智立方:模型的物竞天择与适者生存
从回归分析的出现到深度学习的蓬勃发展,这条算法的进化路线与其说是「机器替代人」,不如说是「机器帮助人类完毕我们不擅长的事」. 这份「不擅长」列表里有「不擅长从大量数据中寻找规律」.「不擅长同一时候完毕 ...
- centos mysql 实战 第一节课 安全加固 mysql安装
centos mysql 实战 第一节课 安全加固 mysql安装 percona名字的由来=consultation 顾问+performance 性能=per con a mysql ...
- 【SVM、决策树、adaboost、LR对比】
一.SVM 1.应用场景: 文本和图像分类. 2.优点: 分类效果好:有效处理高维空间的数据:无局部最小值问题:不易过拟合(模型中含有L2正则项): 3.缺点: 样本数据量较大需要较长训练时间:噪声不 ...
- element ui table 导出excel表格
https://blog.csdn.net/u010427666/article/details/79208145 vue2.0 + element UI 中 el-table 数据导出Excel1. ...
- [django]python异步神器-celery
python异步神器celery https://segmentfault.com/a/1190000007780963
- [py]初始化dict结构和json.dump使用
1.json.dump使用 http://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html ...