JAVA菜鸟入门篇 - File类实例学习 (30)
来源:互联网 发布:骷髅面具淘宝 编辑:程序博客网 时间:2024/05/29 03:01
今天我们学习一下java中的File类
相应的API文档:File类
以下是本人做的一些整理:
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新
File
实例。File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新
File
实例。File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新
File
实例。File(URI uri)
通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
一:File类的方法详解
File file1 = new File ("C://temp//myNote.txt"); // in Windows 这是windows文件系统下的方法
File file2 = new File ("/tmp/myNote.txt"); // in Linux/Unix unix文件系统的方法
在不同的操作系统中,文件之间的分隔符表示方式不一样的,为了安全起见,我们可以使用File.separator来表示分隔符
最安全的建立文件的方法:
File myFile = new File("C:" + File.separator + "jdk1.5.0" + File.separator, "File.java");
提醒:File.separator 表示的是文件路径符号。
常用方法介绍:
System.out.println(myFile.getName());//取得文件名称的方法
System.out.println(myFile.getPath());//取得文件路径的方法
System.out.println(myFile.isAbsolute());//判断文件是否完整
System.out.println(myFile.getParent());//取得文件的根目录
System.out.println(myFile.exists());//判断文件是否存在
System.out.println(myFile.isDirectory());//判断是否是目录
System.out.println(myFile.isFile());//判断是否是文件
System.out.println(myFile.isHidden());//判断是否是隐藏文件
System.out.println(myFile.canRead());//判断是否可读
System.out.println(myFile.canWrite());//判断是否可写
File myFile_C=new File("d:/test.txt");
System.out.println(new Date(myFile_C.lastModified()));//最后一次编辑时间
myFile_C.renameTo(new File("c:/text.txt.bak"));//重新命名此抽象路径名表示的文件。
myFile_C.setReadOnly();//设置为只读
二:File类的实例应用
1. 创建文件和目录
编写代码创建一个目录E:\test,下面含有两个文件1.txt,2.txt 和一个目录dir,dir目录下有两个文件3.txt和4.txt
<span style="font-family:SimSun;font-size:18px;"> public static void createDirectory(){ System.out.println("**********************"); File f=new File("E:"+File.separator+"test"); //File.separator为文件分隔符,在windows下为\ System.out.println("create directory..."); f.mkdir(); //创建目录 File file1=new File(f,"1.txt"); //在目录test下创建两个文件 File file2=new File(f,"2.txt"); try {file1.createNewFile();file2.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} //创建文件 File f2=new File(f,"dir"); //在目录test下创建目录dir f2.mkdir(); File file3=new File(f2,"3.txt"); //创建文件 File file4=new File(f2,"4.txt"); try {file3.createNewFile();file4.createNewFile();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} //测试创建的File对象:是文件还是文件夹 System.out.println("f is file? " +f.isFile()); //false System.out.println("f is directory? "+ f.isDirectory()); //true System.out.println("file1 is file? " +file1.isFile()); //true System.out.println("file2 is file? " +file1.isFile()); //true System.out.println("f2 is file? " +f.isFile()); //false System.out.println("f2 is directory? "+ f.isDirectory()); //true System.out.println("file3 is file? " +file1.isFile()); //true System.out.println("file3 is file? " +file1.isFile()); //true }</span>
2. 列出目录下所有的文件名
编写一个程序,在命令行中以树状结构展示特定的文件夹及其子文件(夹)。(使用递归来实现)
public class FileTree {public static void main(String[] args) {//找一个自己硬盘上有用的文件夹File f = new File("e:/test");printFile(f, 0);}//树状结构打印static void printFile(File file,int level){for (int i = 0; i < level; i++) {System.out.print("-");}System.out.println(file.getName()); if(file.isDirectory()){File[] files = file.listFiles();for (File temp : files) {printFile(temp, level+1);}}}}显示结果:
test
-1.txt
-2.txt
-dir
--3.txt
--4.txt
3. 列出目录下所有的文件路径
编写一个程序,在命令行中以树状结构展示特定的文件夹及其子文件(夹)的路径。(使用递归来实现)
public class FileTree {public static void main(String[] args) {//找一个自己硬盘上有用的文件夹File f = new File("e:/test");printFilePath(f, 0);}static void printFilePath(File file,int level){for (int i = 0; i < level; i++) {System.out.print("-");}System.out.println(file.getPath()); if(file.isDirectory()){File[] files = file.listFiles();for (File temp : files) {printFilePath(temp, level+1);}}}}
显示结果:
e:\test
-e:\test\1.txt
-e:\test\2.txt
-e:\test\dir
--e:\test\dir\3.txt
--e:\test\dir\4.txt
4. 删除一个文件(包含文件里的目录)
<span style="font-family:SimSun;font-size:18px;">public class FileDeleteAllFile {public static void main(String[] args) {//找一个自己硬盘上有用的文件夹File f = new File("e:/test");deleteAll(f);}public static void deleteAll(File file){if(!file.exists()) return ;//为文件或者目录为空if(file.isFile()||file.list().length==0){file.delete();return;}else{File[] files=file.listFiles();for(File f:files){deleteAll(f);}file.delete();}}}</span>
本文参考:
http://blog.csdn.net/sunxiaosunxiao/article/details/6621003
http://blog.csdn.net/Steve_wang_victor/article/details/5853387
http://blog.csdn.net/kiss_the_sun/article/details/7921050
- JAVA菜鸟入门篇 - File类实例学习 (30)
- JAVA菜鸟入门篇 - 时间处理相关类实例:打印该月日期表 (29)
- 菜鸟入门:Java语言学习
- JAVA菜鸟入门篇 - 抽象类、接口 (十九)
- Java菜鸟学习笔记--语法篇(五):位运算实例
- JAVA入门学习实例
- [学习笔记] JAVA菜鸟入门篇-JDK安装以及配置
- java菜鸟学习---servlet 小实例
- 菜鸟入门:Java语言学习六大要点
- 菜鸟入门:Java语言学习六大要点
- 菜鸟入门:Java程序员学习之路
- 菜鸟入门:Java语言学习六大要点
- 菜鸟入门:Java语言学习六大要点
- 菜鸟入门Java语言学习的要点
- 菜鸟入门:Java语言学习六大要点
- 菜鸟入门:Java程序员学习之路
- 菜鸟入门Java语言学习的要点
- Java菜鸟学习笔记--数组篇(二):数组实例&args实例
- Oracle数据库分区存储
- IE动态加载js
- jacob调用Excel中的宏
- 【android】Sqlite中使用SQL与其他数据库的区别
- oc中alloc和init等基本注意和使用
- JAVA菜鸟入门篇 - File类实例学习 (30)
- 转载:Linux伙伴系统(三)--分配页
- 简单介绍java Enumeration
- Hibernate数据拦截与事件监听
- volatile作用
- Progressbar 内加文字
- VS2013 与opencv 2.4.10的配置问题,本人电脑64位
- 学习PHP的一些记录(基础教程)
- oracle导入导出整理(二)