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流提供了读 ...
随机推荐
- redis使用rdb恢复数据
redis中存在rdb备份和aof备份两种方式. 如果在redis多个节点发生雪崩时,我们往往使用定期冷备rdb或者aof文件,去恢复数据的方式,但往往数据量较大时rdb恢复更加的快速,毕竟aof保存 ...
- 20165225 2017-2018-2《Java程序设计》课程总结
20165225 2017-2018-2<Java程序设计>课程总结 - 每周作业链接汇总: 预备作业一:我期待的师生关系 预备作业二:学习基础和C语言基础调查 预备作业三:linux安装 ...
- redis 的消息队列 VS kafka
redis push/pop VS pub/sub (1)push/pop每条消息只会有一个消费者消费,而pub/sub可以有多个 对于任务队列来说,push/pop足够,但真的在做分布式消息分发的时 ...
- 【托业】【新托业TOEIC新题型真题】学习笔记9-题库七+八--P4-5
109.intend 意为“打算,意欲”,含有将来的含义,故不用将来时态 110.must do sth 必须做某事 111.recession 经济衰退,不景气 rebound 反弹:反应 recr ...
- yum方式安装lnmp
1.安装mysql>>>yum -y install mariadb mariadb-server 给root用户设置密码 >>>mysqladmin -uroot ...
- staticmethod()静态方法和classmethod类方法都是装饰器
1.staticmethod()静态方法 使用@staticmethod目的是为了增加可读性,不需要参数self(不强制要求传递参数) 的方法都可以加上@staticmethod增加可读性 静态方法无 ...
- 小程序js执行顺序
底部tab 有 login/index my/index home/index 操作1>进 login/index 页面, index.js加载以下方法 onLoad页面加载onSh ...
- 281A
#include <iostream> #include <string> #include <cctype> using namespace std; int m ...
- extjs model store学习笔记
http://docs.sencha.com/extjs/6.2.0/guides/core_concepts/data_package.html // 定义一个ModelExt.define('My ...
- PHP获取访客ip、系统、浏览器等信息[转]
1.获取访客操作系统信息 <?php function GetOs() { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $OS = $_ ...