01.File文件基本操作
1-创建File对象
/**
* 创建我们 java.io.File对象
*/
public static void test1()
{
//第一创建对象方式
File parent=new File("f:/lsh"); //设置一个目录对象
String child="刘诗华.txt"; //指定文件名
File file1=new File(parent, child); //目录对象,文件名 //第二种创建对象方式 指定一个文件名 表示方法为字符串
File file2=new File("f:/lsh/刘诗华.txt"); //第三种创建方式 目录和文件都是用字符表示,但是目录和文件是分开来的
File file3=new File("f:/lsh/","刘诗华.txt"); System.out.println("对象1="+file1);
System.out.println("对象2="+file2);
System.out.println("对象3="+file3); //打印结果如下显示
//对象1=f:\lsh\刘诗华.txt
//对象2=f:\lsh\刘诗华.txt
//对象3=f:\lsh\刘诗华.txt }
2.检查我们文件是否存在
public static void exists() {
File file2=new File("f:/lsh/刘诗华.txt");
boolean b = file2.exists(); //如果硬盘上面存在刘诗华.txt文件 则会返回true 否则就是返回false
System.out.println(b); //因为我的电脑上面没有文件,所以返回false
}
3.创建文件
private static void createNewFile() throws IOException {
File file2=new File("f:/lsh/刘诗华.txt");
boolean b = file2.exists(); //如果硬盘上面存在刘诗华.txt文件 则会返回true 否则就是返回false
//如果不存在,则创建
//因为我们调用 file2.exists()得到的结果为 false 我们对结果取反之后 会得到 true,就会执行if代码块的程序
if(!b)
{
file2.createNewFile();
System.out.println("文件创建成功");
}
}
4-修改文件名称
private static void renameTo() {
File file2=new File("f:/lsh/刘诗华.txt"); //源文件名称
File dest=new File("f:/lsh/hello.txt"); //新文件名
// public boolean renameTo(File dest) JDK里面是文档是传入一个新File对象
file2.renameTo(dest); //执行文件更名操作
}
5.删除文件
private static void delete() {
File file2=new File("f:/lsh/刘诗华.txt"); //要删除的文件对象
//判断文件是否存在,如果存在则执行删除delete()方法
if(file2.exists())
{
file2.delete();
System.out.println("删除文件成功");
}
}
6.创建目录文件夹
private static void mkdir() {
//定义一个文件夹
File dir =new File("f:/lsh");
//判断文件夹是否存在
if(!dir.exists())
{
dir.mkdir(); // mkdir方法创建 lsh一级目录
// dir.mkdirs(); // mkdirs方法会创建不存在父级目录文件
}
}
7.修改文件夹名称
private static void modify() {
//定义一个文件夹
File dir =new File("f:/lsh");
if(dir.exists())
{
File dest=new File("f:/xxxx");
dir.renameTo(dest);
}
}
8.列表文件夹下面的所有的文件
private static void list() {
File dir =new File("f:/xxxx");
if(dir.exists())
{
// list() 返回的是一个字符串数组类型
String[] list = dir.list();
for (String string : list) {
System.out.println(string);
}
}
else
{
System.out.println("目录不存在");
}
}
9.列表指定文件夹下面的文件,返回的是一个File对象数组
//列表指定文件夹下面的文件
private static void listFile() { File dir =new File("f:/xxxx"); if(dir.exists())
{
// listFiles() 返回的是一个File数组对象
// 所以File的相关操作我们都可以方便使用
File[] list = dir.listFiles(); for (File file : list) {
System.out.println(file);
}
}
else
{
System.out.println("目录不存在");
} }
10.列表指定文件夹下面的文件,并做过滤
第一种采用匿名内部类
private static void filter() {
File dir=new File("f:/xxxx");
if(!dir.exists())
{
System.out.println("文件夹不存在");
return;
}
dir.listFiles(new FilenameFilter(){
public boolean accept(File dir, String name) {
boolean b=false;
if(dir.isFile() && name.endsWith("docx"))
{
b=true;
}
return b;
}
});
}
第二种方法采用实现接口方式来做
class Filter implements FilenameFilter
{
@Override
public boolean accept(File dir, String name) { boolean b=false; //通过dir和name变量 创建一个file对象,如果是文件 并且是 docx结尾的文件,则返回true
if(new File(dir,name).isFile() && name.endsWith("docx"))
{
b=true;
}
return b;
}
} private static void filter() { File dir=new File("f:/xxxx"); if(!dir.exists())
{
System.out.println("文件夹不存在");
return;
} Filter filter=new Filter();
File[] list = dir.listFiles(filter); for (File file : list) {
System.out.println(file);
}
}
11.删除某个文件夹
public static void main(String[] args) {
File dir=new File("f:/abc");
removeDir(dir);
}
//删除目录下面的所有文件和本目录
private static void removeDir(File dir) {
//判断目录是否存在磁盘中
if(!dir.exists())
{
System.out.println("对不起,目录不存在");
return;
}
//列表所有的文件信息
File[] list = dir.listFiles();
for (File file : list) {
//不管是什么,如果是目录,下面有文件,则删除不成功
//如果是文件,或者是空目录,会直接删除的,这里不会报异常的,所有我们不用它
file.delete();
if(file.isDirectory())
{
//采用递归方法进行删除
removeDir(file);
}
}
//最后把自己的目录(空)也删除掉
dir.delete();
}
01.File文件基本操作的更多相关文章
- 文件基本操作 (C语言)
一切皆文件 ---Linux 头文件 <stdio.h> 中定义了文件的相关操作 #include <stdio.h> 文件操作基本流程: 打开:fopen 相关操作 关闭:f ...
- Linux 01 Liunx目录结构及文件基本操作
Linux目录结构及文件基本操作 1.Linux的文件组织目录结构(遵循FHS标准) FHS(Filesystem Hierarchy Standard)标准:多数Linux版本采用这种文件组织形式, ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...
- file的基本操作;file的修改
file的基本操作 # Author:nadech # 文件读写/修改/ #data = open("yesterday",encoding="utf-8"). ...
- Linux 目录结构及文件基本操作
Linux 目录结构及文件基本操作 实验介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux ...
- NO.4day LINUX centos 文件基本操作
LINUX centos 文件基本操作 1 LINUX简介 Linux的定义:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CP ...
- 实验楼学习linux第一章第四节linux目录结构及文件基本操作
linux目录结构及文件基本操作 常用命令 切换目录 cd 当前目录 . 上一级目录 .. (.和..开头的都是隐藏文件) 查看隐藏文件 ls -a 上一级所在目录 - 当前用户home目录 ~ 获取 ...
- 从零开始的Python学习Episode 7——文件基本操作
文件基本操作 一.打开文件 f = open('11','r')#open('file path','mode') 创建一个文件对象 文件有多种打开模式: 1. 'r':新建一个文件对象以只读方式打开 ...
随机推荐
- gitingore && opensource license 自动生成的网站
老外就是爱搞事情,总有一些方便我们开发的小工具出来,比如gitignore以及开源软件许可协议的 gitingore 生成的 地址 https://www.gitignore.io/ 使用 搜索的地方 ...
- MySQL 5.7新特性之在线收缩undo表空间
1. MySQL 5.5时代的undo log 在MySQL5.5以及之前,大家会发现随着数据库上线时间越来越长,ibdata1文件(即InnoDB的共享表空间,或者系统表空间)会越来越大,这会造成2 ...
- Mysql5.6 for Centos6.5源码编译安装
## 说明 不同服务器需要改变 server_id ,同一台机器上需要改变 port 1. 关闭防火墙[root@mysql ~]# service iptables status --查看防火墙状态 ...
- express 与 koa 区别
express 与 koa 区别 区别项 express koa 中间件模型 Compress 模型 洋葱圈模型 对象个数 只有2个对象:Request 和 Response 有3个对象:Reques ...
- mybatis 一对多,(多对一,一对一
多对一,和一对一是同一种写法,每种写法又分在数据库关联和在mybatis关联 1,多对一,一对一数据库关联 2,多对一,一对一mybatis关联 3,一对多,数据库关联,注意,Java type改of ...
- elastic 部分更新 retry_on_conflict 和 数据库写锁 详细比对
1 数据库的 update 在修改这条数据的的过程中(这个过程指的是 数据库执行update 到 事务提交的过程中 )为这条数据加上 写锁,阻止 别的事务 对锁定数据的修改,请求后一个修改事务的线程 ...
- Xshell配置SSH免密码登录
思路: 私钥存放于客户端,id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys 使用密钥认证分3步: 1 ...
- 关于Bagging
Bagging分为两种:Bagging和Pasting,前者是概率中的放回随机采样,后者是不放回随机采样:默认是放回采样随机:设置bootstrap=False即设置为不放回采样:默认bootstra ...
- 公式推导:【CFNet】
[CFNet]: Valmadre J, Bertinetto L, Henriques J F, et al. End-to-end representation learning for Corr ...
- PHP优化思路
想起来记录一下自己对PHP的优化思路 针对Nginx和 PHP-FPM进行优化 首先应该分为代码层面.配置层面.架构层面 代码层面 参见了https://segmentfault.com/a/1190 ...