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流提供了读 ...
随机推荐
- jquery图片懒加载效果
1.要引入jquery 2.要引入underscore.js <!DOCTYPE html> <html lang="en"> <head> & ...
- 根据xml配置使用反射动态生成对象
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...
- 使用natapp将本地服务映射到外网
1.进入https://natapp.cn注册并登陆,然后下载客户端 2. 3. 4.打开客户端开启映射
- RN picker使用
这里是只有苹果的,如果想适配andorid,可以在showPickerFun方法里面使用platefrom判断 代码: import React, {Component} from 'react'; ...
- 正交表和TCG的使用
正交表法是一种有效减少测试用例个数的设计方法. 正交表法的依据是Galois理论,从大量的实验数据中挑选适量的.有代表性的点,从而合理的安排实验的一种科学实验设计方法.在测试用例的设计中,可以从大量的 ...
- 使用python实现日志功能
Python脚本日志系统 Python通过logging模块提供日志功能,关于logging模块的使用网络上已经有很多详细的资料,这里要分享的是怎样在实际工程中使用日志功能. 假设要开发一个自动化 ...
- ORACLE安装入门篇OEL5.4安装ORACLE11g
一.安装ORACLE11g软件(11.2.0.0) (一)安装前的包支持 1.检测yum仓库是否已经配置好 yum list all 2.搭建yum仓库 1).挂载所需要的安装光盘 虚拟机挂载光盘: ...
- 003-pro ant design 前端权限处理-支持URL参数的页面
前天需要增加MD5引用 https://www.bootcdn.cn/blueimp-md5/ 1.修改权限文件(CheckPermissions.js)使用自定义权限 2.配置异常页面 2.1.创建 ...
- wxPython:事件处理一
事件处理是wxPython程序工作的基本机制,先看几个术语: 事件(event):应该程序期间发生的事情,要求有一个响应. 事件对象(event object):代表具体一个事件,包括事件的数据属性, ...
- 在function module 中向数据库插入数据
http://www.sapjx.com/abap-function-module.html 1: 应该在function module 中向数据库插入数据