Java File类方法使用详解
Java File类的功能非常强大,利用java基本上可以对文件进行所有操作。文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍。
构造函数
public class FileDemo {
public static void main(String[] args) {
//构造函数File(String pathname)
File f1 = new File("D:\\a\\1.txt"); //File(String parent,String child)
File f2 = new File("D:\\a", "2.txt"); //File(File parent,String child)
File f3 = new File("D:"+File.separator+"a");
File f4 = new File(f3,"3.txt"); System.out.println(f1);
}
}
创建方法
1 boolean createNewFile() 不存在就返回true;存在返回false 2 boolean mkdir() 创建目录 3 boolean mkdirs() 创建多级目录
删除方法
1 boolean delete()
2 boolean deleteOnExit()文件使用后删除
public class FileDemo {
public static void main(String[] args) {
File f = new File("D:\\1.txt");
try {
System.out.println(f.createNewFile());
System.out.println(f.delete());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
判断方法
1 boolean canExecute() 判断文件是否可以执行
2 boolean canRead() 判断文件是否可读
3 boolean canWrite() 判断文件是否可写
4 boolean exist() 判断文件是否存在
5 boolean isDirectory() 判断文件是目录
6 boolean isFile() 判断是否是文件
7 boolean canHidden() 判断文件是否可见
8 boolean isAbsolute() 判断文件是否是绝对路劲 ,文件不存在也能判断
获取方法
1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果没有父目录返回null
5.long lastModified()//获取最后一次修改的时间
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//获取机器盘符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁盘下的文件和文件夹
public class FileDemo3 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()>0){
String[] filenames =file.list();
for(String filename:filenames){
System.out.println(filename);
}
}
}
} }
文件过滤
public class FileDemo4 {
public static void main(String[] args){
File[] files =File.listRoots();
for(File file:files){
System.out.println(file);
if(file.length()>0){
String[] filenames =file.list(new FilenameFilter(){
//file 过滤目录 name 文件名
public boolean accept(File file,String filename){
return filename.endsWith(".mp3");
}
});
for(String filename:filenames){
System.out.println(filename);
}
}
}
} }
利用递归列出所有文件
public class FileDemo5 {
public static void main(String[] args){
File f =new File("e:\\音樂");
showDir(f);
}
public static void showDir(File dir){
System.out.println(dir);
File[] files =dir.listFiles();
for(File file:files){
if(file.isDirectory())
showDir(file);
else
System.out.println(file);
}
}
}
移动文件
public class Test5 {
public static void main(String[] args){
File f1 = new File("d:\\");
moveFile(f1);
}
public static void moveFile(File dir){
File[] files=dir.listFiles();
for(File file:files){
if(file.isDirectory())
moveFile(file);
else{
if(file.getName().endsWith(".java"))
file.renameTo(new File("c:\\jad\\"+
file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
}
}
}
}
Java File类方法使用详解的更多相关文章
- java.util.Scanner应用详解++扫描控制台输入
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- (转)java.util.Scanner应用详解
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- Java输出流FileOutputStream使用详解
Java输出流FileOutputStream使用详解 http://baijiahao.baidu.com/s?id=1600984799323133994&wfr=spider&f ...
- 阿里语音识别(语音转文字)java调用全程手把手详解-适合中小学生快速上手
阿里语音识别服务java调用全程手把手详解-适合中小学生快速上手 阿里语音识别与百度语音识别的调用对比: 用例:1分30秒的录音文件 百度用时:3秒 阿里用时:30秒 识别准确率来看 ...
- java ssl https 连接详解 生成证书 tomcat keystone
java ssl https 连接详解 生成证书 我们先来了解一下什么理HTTPS 1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over ...
- Java基础学习总结(24)——Java单元测试之JUnit4详解
Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before ...
- Java中日志组件详解
avalon-logkit Java中日志组件详解 lanhy 发布于 2020-9-1 11:35 224浏览 0收藏 作为开发人员,我相信您对日志记录工具并不陌生. Java还具有功能强大且功能强 ...
- Java版人脸检测详解下篇:编码
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Java 8 Stream API详解--转
原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java8引入了 ...
随机推荐
- nginx 工作原理总结
1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个location block(locat ...
- TCP通信的文件上传案例
- 在airflow的BashOperator中执行docker容器中的脚本容易忽略的问题
dag模板 from airflow import DAG from airflow.operators.bash_operator import BashOperator from airflow. ...
- react生成二维码
图片实例: 简介: QRCode.js 是一个生成二维码的JS库.主要是通过获取 DOM 的节点,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 用法: 1. 在项目中引入qrcode.m ...
- [转帖]超详细的EXPDP、IMPDP规范及常用技巧总结
超详细的EXPDP.IMPDP规范及常用技巧总结 https://www.toutiao.com/i6727232212850180619/ 原创 波波说运维 2019-08-24 00:06:00 ...
- 防火墙firewalld报错:ERROR: Exception DBusException: org.freedesktop.DBus.Error.AccessDenied:...
ERROR: Exception DBusException: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.1985&qu ...
- Redis SETNX实现分布式锁
1.某进程1执行 SETNX lock 以尝试获取锁 2.由于某进程2已获得了锁,所以进程1执行 SETNX lock 返回0,即获取锁失败 3.进程1执行 GET lock 来检测锁是否已超时,如果 ...
- 第6章:LeetCode--数组(冒泡排序、快速排序)
11. Container With Most Water class Solution { public: int maxArea(vector<int>& height) { ...
- 剑指offer30:连续子数组的最大和
1 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果 ...
- homestead的创建和使用
1.下载vistualbox和vagrant并安装 2.安装了git的话就在想设置的目录或者文件夹下用git命令执行vagrant box add laravel/homestead,或者用cmd命令 ...