大佬的理解->《IO流和File》

1、File类

File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件。通过调用File类提供的各种方法,能够完成创建、删除文件、重命名文件、判断文件的读写权限权限是否存在、设置和查询文件的最近修改时间等操作。

File类没有无参构造方法,最常用的是使用下面的构造方法来生成File对象(注意分隔符可以使用"/"和"",但是使用""必须写"\",因为涉及转义的问题):

File(String pathName) pathName指的是文件的路径名;

File.separator

在Windows下的路径分隔符(\)和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常。

File中还有几个与separator类似的静态常量,与系统有关,在编程中应尽量使用。

//File.separator 表示不同系统下的路径分割符
File file = new File("D:"+File.separator+"test"+File.separator+"test1");
//File file = new File("D:/test/test1.txt");

2、创建文件

创建文件对象 File(String pathname)

//pathname 文件路径
File file = new File("D:/test/test1.txt");

创建文件 createNewFile()

File file = new File("D:/test");
//判断文件是否存在,不存在,创建
if(!file.exists()){
try {
//判断文件是否创建成功
//createNewFile方法,会返回是否创建成功的结果,true成功,false失败
if(file.createNewFile()){
System.out.println("创建文件"+file.getName()+"成功");
}else{
System.out.println("创建文件"+file.getName()+"失败");
}
} catch (IOException e) {
e.printStackTrace();
}

3、创建目录(单级,多级)

mkdir() 创建单级目录
mkdirs() 创建多级目录

创建单级目录 mkdir()

File dir = new File("D:/test/test1");//目前只有text文件夹
//判断目录是否存在,如果不存在则创建
if(!dir.exists()){
//mkdir方法,创建目录,返回是否创建成功的结果
//mkdirs方法,创建多级目录
if(dir.mkdir()){
System.out.println("创建目录成功"); //生成test1文件夹
}else{
System.out.println("删创建目录失败");
}
}else{
System.out.println("目录存在,不需要创建");
}

创建多级目录 mkdirs()

File dirs = new File("D:/test/test1/text1_1"); //目前只有text文件夹
//改变参数和方法即可
if(dirs.mkdirs()){
System.out.println("创建目录成功"); //生成test1文件夹及子文件夹text1_1
}else{
System.out.println("删创建目录失败");
}

4、删除文件或目录(只能删除单级空目录)

delete()

//存在则删除,不存在,提示
File file = new File("目录或文件路径");
if(file.exists()){
// delete方法,删除文件或者目录,并会返回是否删除成功的结果,true-成功,false-失败
//注意:删除目录,只能删除当前以及的目录,并且只能是空目录
if(file.delete()){
System.out.println("删除文件或目录成功");
}else{
System.out.println("删除文件或目录失败");
}
}else{
System.out.println("文件或目录不存在");
}

5、File类中常见方法

file.getName() 文件名称
file.length() 文件大小
file.getPath() 文件路径
file.getAbsolutePath() 文件绝对路径

还有其他方法可以直接查看;

文件输入输出处理-File的更多相关文章

  1. C/C++文件输入输出操作——FILE*、fstream、windowsAPI

    基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio. ...

  2. C/C++文件输入输出操作——FILE*、fstream、windowsAPI(转载)

    基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdi ...

  3. C++IO类&文件输入输出

    C++IO类&文件输入输出 istream(输入流)类型,提供输入操作. ostream(输出流)类型,提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个os ...

  4. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

  5. C# 流与文件(Stream & File & byte[])

    原文:https://www.cnblogs.com/long-gengyun/archive/2010/03/28/1698681.html 文件概述  文件在操作时表现为流,即流是从一些输入中读取 ...

  6. Linux 输入输出重定向, &>file, 2>&1, 1>&2

    Linux 输入输出重定向, &>file, 2>&1, 1>&2 一.1和2在Linux中代表什么 1.1 输出重定向 1.2 输入重定向 1.3 绑定重定 ...

  7. HTML中上传与读取图片或文件(input file)----在路上(25)

    input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...

  8. 小型文件数据库 (a file database for small apps) SharpFileDB

    小型文件数据库 (a file database for small apps) SharpFileDB For english version of this article, please cli ...

  9. 流的文件操作(File)

    一.流的分类: 1.流按照方向分类:分为输入流和输出流,流的操作是相对于内存而言. 输入流的定义:当我们从数据源中将数据读取到内存中就称为输入流,也叫读取流. 输出流的定义:当我们将内存中处理好的数据 ...

随机推荐

  1. LC-数组-二分查找-704

    二分查找 [left, right] 方式 [left, mid -1] [mid + 1, right] int left = 0, right = nums.length - 1; while ( ...

  2. ICMP TYPE CODE 对应表

    下载ping程序源代码等信息,可以在这里下载 [root@ht8 network-scripts]# ping -V ping utility, iputils-s20160308 //ping实用程 ...

  3. mysql4与mysql5的区别_MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别

    MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 一.5.0 增加了Stored procedures.Views.Cursors.Triggers.XA transactions的 ...

  4. 【LeetCode】24.两两交换链表中的节点

    24.两两交换链表中的节点 知识点:链表 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 示例 1 ...

  5. vue滚动分页加载

    做了一个项目,要求将后台数据滚动加载. 滚动加载必须要求后台传的接口中由pageSize和pageIndex两个参数,来判断每次传数据的条数和数据的页码. 首先要判断滑轮是向上滚动还是向下滚动,可以在 ...

  6. Docker安装Opensips2.4实现内网sip电话通讯

    使用说明 这是基于官方opensips 2.4镜像添加了mysql模块以及rest_client模块制作的镜像,用此镜像可以连接mysql控制opensip注册用户.查看通话记录以及通话时对INVIT ...

  7. acwing刷题-放养又没有完全放养

    题目 一个鲜为人知的事实是,奶牛拥有自己的文字:「牛文」. 牛文由 26 个字母 a 到 z 组成,但是当奶牛说牛文时,可能与我们所熟悉的 abcdefghijklmnopqrstuvwxyz 不同, ...

  8. ASP.NET和ASP.NETCore多环境配置对比

    前言 多环境配置应该都很熟悉了,最为常见的便是Debug和Release,例如下图是新建的一个asp.net项目,配置文件展开共有三个文件组成 据我所知,大多公司从来没编辑过Web.Debug.con ...

  9. CVPR 2022数据集汇总|包含目标检测、多模态等方向

    前言 本文收集汇总了目前CVPR 2022已放出的一些数据集资源. 转载自极市平台 欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结.最新技术跟踪.经典论文解读.CV招聘信息. M5Produc ...

  10. OSPF MTU问题

    OSFP(开放式最短路径优先)链路状态协议,IGP 1.mtu 检测 链路俩段不匹配 假设双方的mtu不一致时 ospf建立如下: R1与R2交互hello报文,其中包含:目的IP地址:224.0.0 ...