文件输入输出处理-File
大佬的理解->《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的更多相关文章
- C/C++文件输入输出操作——FILE*、fstream、windowsAPI
基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio. ...
- C/C++文件输入输出操作——FILE*、fstream、windowsAPI(转载)
基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdi ...
- C++IO类&文件输入输出
C++IO类&文件输入输出 istream(输入流)类型,提供输入操作. ostream(输出流)类型,提供输出操作. cin,一个istream对象,从标准输入读取数据. cout,一个os ...
- python 中文件输入输出及os模块对文件系统的操作
整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...
- C# 流与文件(Stream & File & byte[])
原文:https://www.cnblogs.com/long-gengyun/archive/2010/03/28/1698681.html 文件概述 文件在操作时表现为流,即流是从一些输入中读取 ...
- Linux 输入输出重定向, &>file, 2>&1, 1>&2
Linux 输入输出重定向, &>file, 2>&1, 1>&2 一.1和2在Linux中代表什么 1.1 输出重定向 1.2 输入重定向 1.3 绑定重定 ...
- HTML中上传与读取图片或文件(input file)----在路上(25)
input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...
- 小型文件数据库 (a file database for small apps) SharpFileDB
小型文件数据库 (a file database for small apps) SharpFileDB For english version of this article, please cli ...
- 流的文件操作(File)
一.流的分类: 1.流按照方向分类:分为输入流和输出流,流的操作是相对于内存而言. 输入流的定义:当我们从数据源中将数据读取到内存中就称为输入流,也叫读取流. 输出流的定义:当我们将内存中处理好的数据 ...
随机推荐
- 设置IDEA启动时不打开上次项目
步骤 1.启动IDEA,点击File 2.点击setting,在Appearance&Behavior中找到System Setting 3.取消勾选Reopen projects on st ...
- python入门基础—安装
说明:0基础,那就先练习python语言基础知识,等基础知识牢固了,再对各开发平台分别进行介绍.这里只介绍两个简单而又容易搭建开发平台Anaconda和pycharm Anaconda是一个开源的Py ...
- Go 语言字符串常见操作
@ 目录 1. 字节数组 2. 头尾处理 3. 位置索引 4. 替换 5. 统计次数 6. 重复 7. 大小写 8. 去除字符 9. 字符串切片处理 10. 数值处理 1. 字节数组 字节与字符的区别 ...
- No value specified for 'Date' BeanUtils.copyProperties 日期为空 转型错误
BEGIN; 最近在用spring data,使用的hibernate实现,然后用了一对多等关系配置,导致PO类转换JSON时会死循环,最后使用VO接受数据解决该问题.PO与VO相互转换我用的是org ...
- VSCode 前端常用插件集合
Visual Studio Code 是由微软开发的一款免费.跨平台的文本编辑器.由于其卓越的性能和丰富的功能,它很快就受到了大家的喜爱. 但工欲善其事必先利其器,以下是本人为前端开发收集的常用的vs ...
- 卧槽!华为《Linux中文手册》火了,完整版 PDF 开放下载!
这是华为工程师基于最新的Linux编写,循序渐进地对Linux进行讲解.对于零基础可以作为Linux的快速入门教材.我希望能为大家提供切实的帮助. 资料介绍 涵盖基础.系统管理.应用.开发.服务器配置 ...
- 论文阅读 Dynamic Graph Representation Learning Via Self-Attention Networks
4 Dynamic Graph Representation Learning Via Self-Attention Networks link:https://arxiv.org/abs/1812. ...
- goland设置import规范
import 规范 引入了三种类型的包,标准库包,第三方包,程序内部包,建议采用如下方式进行组织你的包: 有顺序的引入包,不同的类型采用空格分离, 第一种标准库 第二是第三方包 第三是项目包. 在项目 ...
- 设计模式---单例模式,pickle模块
设计模式---单例模式 简介 单例模式(Singleton Pattern) 是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实 例存在.当你希望在整个系统中,某个类只能出现一个实例时 ...
- zabbix-agent python脚本侦听服务器异常登录,并告警
py脚本 import re,subprocess,time,datetime #gpasswd -a zabbix adm def ftime(a): a = a.replace('Jan','01 ...