api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。
文件的创建:
package file;
import java.io.File;
import java.io.IOException;
/*
create:创建
new:新
file:文件
使用File新建一个文件
/
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
//在当前项目目录下新建一个文件:test.txt
//1创建一个File表示要创建的文件
File file = new File("./test.txt");
//2判断该位置下是否已经存在了这个文件或目录
/
boolean exists()
判断当前File表示的文件或目录是否真实存在,存在则返回true
/
if(file.exists()){
System.out.println("该文件已存在");
}else{
//3将该文件创建出来
/
createNewFile方法的作用是将当前File表示的文件在该位置创建出来
*/
file.createNewFile();//光标在这句代码中按alt+回车
System.out.println("文件已创建");
}
}
}
文件的删除:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 获取./src/file目录中所有名字以"D"开始的文件
*/
public class Test2 {
public static void main(String[] args) {
FileFilter filter = new FileFilter() {
//只要file表示的文件的名字是以"D"开始的则接受
public boolean accept(File file) {
String name = file.getName();
System.out.println("正在过滤:"+name);
return name.startsWith("D");
}
};
File dir = new File("./src/file");
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
文件的访问:
package file;
import java.io.File;
/**
java.io.File
File可以表示硬盘上的一个文件或目录(本质保存的是一个抽象路径)
File可以:
1:访问其表示的文件或目录的属性
2:创建删除文件或空目录
3:访问一个目录中的子项
File不可以:
访问文件数据
*/
public class FileDemo {
public static void main(String[] args) {
//绝对路径的优点是清晰明了,但是缺点是路径写死了,跨平台行不好。
// File file = new File("c:/Users/X/IdeaProjects/JSD2206_SE/demo.txt");
//相对路径的优点是有良好的跨平台性。
//“./”表示当前目录,在IDEA中当前目录指的是当前程序所在的项目目录
File file = new File("./demo.txt");//获取file表示的文件或目录的名字
String name = file.getName();
System.out.println(name); //获取当前file表示的文件的大小(单位是字节)
long len = file.length();
System.out.println("大小:"+len+"个字节"); /*
can:能
write:写
read:读
*/
boolean cw = file.canWrite();//是否可写
boolean cr = file.canRead();//是否可读
System.out.println("是否可写:"+cw);
System.out.println("是否可读:"+cr);
}
}
读取文件中所有的子项:
package file;
import java.io.File;
/**
获取一个目录中的所有子项
/
public class ListFilesDemo {
public static void main(String[] args) {
//获取当前目录下的所有子项
File dir = new File(".");
/
boolean isFile()
判断当前File对象表示的是否为一个文件boolean isDirectory()
判断当前File对象表示的是否为一个目录
*/
if(dir.isDirectory()){//判断当前dir表示的是否为一个目录
/*
File[] listFiles()
将当前File对象表示的目录中所有子项返回
*/
File[] subs = dir.listFiles();
System.out.println("当前目录下共:"+subs.length+"个子项");
for(int i=0;i<subs.length;i++){
File sub = subs[i];
System.out.println(sub.getName());
}
}
}
}
在文件中设置过滤器找出符合过滤器要求的子项:
package file;
import java.io.File;
import java.io.FileFilter;
/**
- 重载的listFiles方法
- File[] listFiles(FileFilter filter)
- 该方法允许我们传入一个文件过滤器,然后将当前File对象表示的目录中所有满足此过滤器要求的
- 子项返回。
/
public class ListFilesDemo2 {
public static void main(String[] args) {
/
获取./src/file目录中所有名字中含有“t”的文件
/
File dir = new File("./src/file");
if(dir.isDirectory()){
//使用匿名内部类创建一个文件过滤器
FileFilter filter = new FileFilter() {
/
重写accept方法(accept:接受)
此方法的重写原则是定义过滤器过滤File的条件。当参数file符合此过滤器
的过滤条件时,方法应当返回为true。表达过滤器接受该file。
*/
public boolean accept(File file) {
String name = file.getName();
// return name.indexOf("t")>=0;
return name.contains("t");//contains:包含
}
};
File[] subs = dir.listFiles(filter);
for(int i=0;i<subs.length;i++){
System.out.println(subs[i].getName());
}
}
}
}
目录的创建:
package file;
import java.io.File;
/**
make:做
directory:目录(文件夹)
创建一个目录
*/
public class MkDirDemo {
public static void main(String[] args) {
//在当前目录下新建一个目录:demo
// File dir = new File("./demo");
// File dir = new File("demo");File dir = new File("./a/b/c/d/e/f");
if(dir.exists()){
System.out.println("该目录已存在!");
}else{
/*
mkdir()创建当前File表示的目录,前提是该目录所在的目录必须存在。
mkdirs()创建当前File表示的目录,并会将所有不存在父目录一同创建出来。
实际开发中推荐使用mkdirs这个方法。
*/
// dir.mkdir();
dir.mkdirs();
System.out.println("该目录已创建!");
}
}
}
目录的删除:
package file;
import java.io.File;
/**
- 删除一个目录
/
public class DeleteDirDemo {
public static void main(String[] args) {
//删除当前目录下的demo目录
// File dir = new File("./demo");
File dir = new File("./a");
if(dir.exists()){
/
delete()方法在删除目录是要求该目录必须是一个空目录
*/
dir.delete();
System.out.println("该目录已删除!");
}else {
System.out.println("该目录不存在!");
}
}
}
api进阶Day1文件的创建、删除、访问、设置过滤器并查询。目录的删除、创建。的更多相关文章
- 从0开始,手把手教你用Vue开发一个答题App01之项目创建及答题设置页面开发
项目演示 项目演示 项目源码 项目源码 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把 ...
- Eclipse创建一个mybatis工程实现连接数据库查询
Eclipse上创建第一mybatis工程实现数据库查询 步骤: 1.创建一个java工程 2.创建lib文件夹,加入mybatis核心包.依赖包.数据驱动包.并为jar包添加路径 3.创建resou ...
- Java File文件操作 创建文件\目录,删除文件\目录
Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...
- Expo大作战(三十八)--expo sdk api之 FileSystem(文件操作系统)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 【Android】13.0 第13章 创建和访问SQLite数据库—本章示例主界面
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们 ...
- 详解:基于WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器功能
文件同步传输工具比较多,传输的方式也比较多,比如:FTP.共享.HTTP等,我这里要讲的就是基于HTTP协议的WEB API实现批量文件由一个服务器同步快速传输到其它多个服务器这样的一个工具(简称:一 ...
- 在 ASP.NET 中创建数据访问和业务逻辑层(转)
.NET Framework 4 当在 ASP.NET 中处理数据时,可从使用通用软件模式中受益.其中一种模式是将数据访问代码与控制数据访问或提供其他业务规则的业务逻辑代码分开.在此模式中,这两个层均 ...
- linux专题一之文件管理(目录结构、创建、查看、删除、移动)
在linux系统中一切都是文件./ 在linux中为根目录,是一切文件的根目录.本文将通过linux系统的目录结构和与linux文件操作有关的相关命令(touch.mkdir.cp.mv.mv.les ...
- Microsoft Office Excel 不能访问文件及COM无法访问
Microsoft Office Excel 不能访问文件及COM无法访问 Microsoft Office Excel 不能访问文件“*.xls”. 可能的原因有: 1 文件名称或路径不存在. 2 ...
- 在Openstack上创建并访问Kubernetes集群
第一部分:创建集群 在Openstack部署Kubernetes集群运行Nginx容器的步骤,其中包括: 利用Murano部署Kubernetes集群 配置Openstack的安全性使Kubernet ...
随机推荐
- linux中大括号、小括号、中括号的区别和用法
大括号 { } 1.用于取多个变量 可以进行取变量和字符串拼接,假设:var='1234' echo ${var}abcd 输出为:1234abcd 2.正则表达式,用于大括号内 ...
- 推测执行 Speculative execution
如果我们只是靠随便网络上查找一个Speculative这个词的含义,是很难去理解的.但是我们通过查看英文原文去理解,可能就比较清楚地理解了: speculative (adjective) 1. ba ...
- springsecurity maven 打包后,404错误。maven 打包后,加载内置的xml文件
404错误,解决的办法,主要是pom文件 <build> <resources> <resource> <directory>src/main/reso ...
- 为什么 A 能 ping 通 B,B 却不能 ping 通 A ?
有开发小哥咨询了一个问题,记录一下处理过程分享给有需要的朋友. 问题如下: A.B 两台开发服务器连接交换机,并且 A.B 两台服务器的 IP 地址设置为同一个网段,却发现 A 能 ping 通 B ...
- lxml库和BeautifulSoup库常用点小结
算是本人的学习笔记吧,仅供个人学习使用. 以下内容摘自<Python3网络爬虫开发实战--崔庆才著> 1.lxml库 XPath 常用规则: 表达式 描述 nodename 选取此节点的所 ...
- Installation requirements for DB2 UDB 8.1 Enterprise Servers
UDB 8 Install HomeUppre-UDB 8 InstallUDB 8 Install Addendum Steps to do before/after applying a DB ...
- sap 付费支持 fico付费求助
从事SAP多年,SAP付费求助,fico有偿服务,月结问题 有偿处理,物料分类账异常处理 每次每个问题最少 500 CNY , 有需要的联系 wx :erpworld sap fico 有偿服务
- h5项目
h5项目,用vue3,用vite搭建就好,是一个新的项目. 接口还在开发,可以用mock模拟. 现有信息:接口url,ui-url,原型url(各部分的交互关系)
- 二进制安装K8S kubctl get node 返回No resources found
问题描述:node节点kubelet服务启动成功后,在集群master节点执行命令具体结果如下截图 原因:kubelet设置的cgroups和docker的不一致导致 修改docker的cgroup, ...
- 【C学习笔记】day2-2 不允许创建临时变量,交换两个数的内容(附加题)
#include<stdio.h> int main() { int a=0, b=1; int m[2]; m[0] = a; m[1] = b; a = m[1]; b = m[0]; ...