- 浏览: 18964 次
- 性别:
- 来自: 湖南常德
最新评论
File是java中的与文件相关的类,可以对进行创建、删除、列出目录下的文件,判断文件或者目录。其位于java.io包中。在windows下的路径格式,例如某个桌面目录路径""。但是在java中“\”视为转译字符,因此在在使用该类是我们会将路径名写成“C:\Users\admin\Desktop”或者“C://Users//admin//Desktop”.
相对路径:指不以文件路径名开头的文件路径
绝对路径:指以文件根目录开头的路径
当前目录:指相对于程序运行时的相对路径
File中常用的方法: 列出根目录:File[]listRoot(),在windows下所列出的根目录是将计算机上的逻辑驱动器用数组返回,通俗的讲,返回的就是盘的数量,比如在我的电脑上运行下列代码,打印器器返回的结果为,“第0个目录C:\+第1个目录D:\+第2个目录E:\+第3个目录F:\+第4个目录G:\”
代码节选如下,
/**
* 列出机器上的根目录 */ public void listRoots() { // 直接调用File类的static方法 File[] lf = File.listRoots(); // 输出File对象指向的文件的长度,以byte及,如指向目录,则返回的是0 //System.out.println("磁盘上目录个数是:" + lf.length); // 返回抽象路径名的绝对路径名串符 for (int i = 0; i < lf.length; i++) { System.out.println("第" + i + "个目录" + lf[i].getAbsolutePath()); } }
boolean exist(): 判断File对象是否存在,存在则返回true反之则为false
boolean isFile(): 判断File是否是对文件,是则返回true反之则为false
boolean isDirectory(): 判断File对象是否是目录,是则返回true反之则为false
File getAbsolutePath(): 返回文件的绝对路径
boolean creatNewFile(): 创建个一个新的文件,成功创建则返回true反之则为false。该方法可能会抛出异常,因此需要对异常进行处理(异常请转至http://raidyue.iteye.com/blog/1584943)
boolean delete(): 删除File对象的抽象路径名表示的文件或者目录。若此路径名表示的是目录,则需要目录为空才能删除,删除成功则返回的是true,反之是false
以上几个方法的使用实列:判断是文件是否存在,删除文件,创建文件
public void testCreatAndDelete(String filename) {
// 通过传入的文件名构造File对象 File temFile = new File(filename); // 判断文件是否存在 if (temFile.exists()) { // 判断File指向的文件是否是真是的文件 if (temFile.isDirectory()) { // 输出其路径 System.out.println("这是一个目录:" + temFile.getAbsolutePath()); } } // 判断File对象指向的文件是否是真实的文件 if (temFile.isFile()) { // 打印文件长度 printFileAttr(temFile); // 删除文件 temFile.delete(); String theName = temFile.getName(); String absPath = temFile.getAbsolutePath(); System.out.println("文件已删除,名字是:" + theName + "绝对路径是:" + absPath); }else{ try{ temFile.createNewFile(); System.out.println("文件已创立"+temFile.getAbsolutePath()); //打印文件长度 printFileAttr(temFile); }catch(Exception ef){ System.out.println("创建文件失败"); } } }
递归:
简单说的说递归就是方法自己调用自己的过程,递归最需注意的就是递归结束的判断,如果没有跳出判断,就会陷入死循环。例如,我们用递归求出斐波那契数列的项,一下是代码实列
//求斐波那契数列
public int Recursion(int i) { int f = 0; if (i == 1) { f = 1; } if (i == 2) { f = 1; } if(i>2){ f = Recursion(i - 1) + Recursion(i - 2); } return f; }
当我们求第五项,f5= Recursion(4)+Recursion(3);
=Recursion(3)+Recursion(2)+Recursion(2)+Recursion(1)
=Recursion(2)+Recursion(1)+Recursion(2)+Recursion(2)+Recursion(1)
=5
现在我们知道了递归的方法,我们就能用递归找出某个目录下的所有文件,代码示例如下
public int listDir(String dirName) {
int fileCount = 0; File dirFile = new File(dirName); File[] subFile = dirFile.listFiles(); //我们在这里判断跳出递归的条件 if (subFile == null || subFile.length == 0) { return 0; } for (int i = 0; i < subFile.length; i++) { if (subFile[i].isDirectory()) { String subDir = subFile[i].getAbsolutePath(); System.out.println("目录:" + subDir); txt_area.append(subDir + "\n"); //这是个目录,所以我们以这个目录为起点,重新调用这个方法 fileCount += listDir(subDir); } if (subFile[i].isFile()) { boolean mate = false; fileCount++;、 //这是个文件,我们就获取文件的绝对路径,输出文件的绝对路径 String filePath = subFile[i].getAbsolutePath(); System.out.println("文件" + filePath); mate = readFile(filePath, keyWord); if (mate == true || filePath.contains(keyWord)) { txt_area.append(filePath + "\n"); } } } return fileCount; }
发表评论
-
git入门
2015-02-11 11:02 0git入门 -
JVM内存结构浅谈
2013-05-19 14:47 698Java程序的运行过程: ... -
菜鸟入门之网页数据抓取
2013-05-04 21:53 5558有时候需要从网页上获取数据,比如别一些网页上的新闻获取到放 ... -
动态编译
2013-03-01 22:33 627前几天谈论了关于动 ... -
位映射
2013-03-01 22:33 947前些天讨论了位映射的内容,一个具体的例子就对于M个int ... -
线程同步
2013-03-01 22:34 7461,为什么要有线程同 ... -
生产消费模型
2013-03-01 22:34 722当遇到一个线程要产生数据而另一个线程要处理数据时,这就是生 ... -
设计模式之单例模式
2012-12-02 23:02 0单例模式又叫单台模式或者单例模式 -
数据结构之Hash
2012-11-19 21:45 884数据结构之hash 首先介绍两种非常重要的数据结构。数组,为 ... -
数据结构之Hash
2012-11-18 14:47 0数据结构之hash 首先介 ... -
网络通信总结
2012-10-28 15:33 857网络通信:一句话说,用网络传输数据(各种数据) 。进行通讯那 ... -
哈弗曼压缩
2012-08-03 11:43 705一、哈弗曼树,又称最优树,是一种带权路径长度最短的树。 ... -
链表总结
2012-08-03 11:43 807首先,链表是一种顺 ... -
线程及线程应用总结
2012-08-03 11:44 762一、什么是线程 每个java程序都至少有一个线程 ... -
树二叉树总结
2012-08-03 11:45 880一、数的相关 节点: 节点是树的基本组成单 ... -
java集合框架
2012-07-16 21:21 753java集合框架总结 主要由以下三部分组成: ... -
I/O体系结构总结
2012-07-16 21:22 922I/O体系结构总结 流的概念和分类: ... -
java异常机制
2012-07-11 13:01 728JAVA异常机制 一、异常的基本概念 简单的说 ... -
总结20120705
2012-07-05 10:07 690一、类与对象 1. ... -
java关键字总结
2012-05-20 13:31 749常用关键字: 访问修饰符关键字: public: 是最为公 ...
相关推荐
通过`File`类,我们可以执行一系列与文件和目录相关的操作,如创建、删除、重命名文件以及获取文件的各种属性等。 #### 二、构造方法 `File`类提供了多种构造方法,用于根据不同的输入创建`File`对象: 1. **无参...
总结,`File`类在Android开发中扮演着重要角色,它使得开发者能够方便地管理和操作文件系统,无论是简单的文件创建、删除,还是复杂的文件遍历和读写操作,都离不开`File`类的支持。理解和熟练使用`File`类,是成为...
### File类在C#中的使用详解 #### 一、引言 在软件开发过程中,文件操作是一项非常基础且重要的功能。对于.NET Framework及其主要编程语言C#而言,`System.IO`命名空间提供了丰富的API用于处理文件相关的任务。其中...
通过`File`类,开发者可以轻松地创建、删除文件或目录,重命名文件,检查文件的属性(如文件大小、最后修改时间等),以及执行其他一些与文件相关的操作。 #### 二、File类的基本概念 `File`类的核心在于它提供了一...
在C++中,我们可以自定义一个INI File类来处理此类文件。以下是一个简单的类设计: ```cpp class IniFile { public: IniFile(const std::string& filePath); void write(const std::string& section, const ...
Java中的File类是Java I/O流体系中一个基础的类,它主要负责处理文件和目录的相关操作。在本文中,我们将深入探讨File类的基本概念、使用分隔符、构造器和方法,帮助开发者更好地理解和应用这个类。 1. **基本概念*...
总结,Java的`File`类是文件操作的基础,无论是简单的文件创建、删除,还是复杂的文件上传、下载,都离不开它的支持。理解并熟练掌握`File`类的使用,对于进行Java相关的文件操作至关重要。通过`File`类,开发者可以...
`file_html`类被设计用于存储与HTML文件相关的数据。在Web开发或文件处理项目中,经常会遇到需要操作HTML文件的情况。该类通过封装HTML文件名的方式,提供了一种简单的方法来管理这些文件。 #### 成员变量`file_...
总结来说,`Tailfile`是将Unix的`tail -f`命令概念转化为可编程接口的一种方式,它方便开发者在各种环境中实时跟踪文件的变化。通过使用`Tailfile`类库,可以轻松地在应用程序中实现日志监控和其他需要实时文件更新...
在许多编程语言中,都有类似的函数或方法,如Java的`File`类中的`exists()`、`getName()`等,它们用来检查文件是否存在,或者获取文件名。在Python中,`os`模块提供了`path`函数,可以用来获取文件路径的各种信息。 ...
总结来说,Java写的FileSearch工具结合了`File`类的文件操作功能、递归算法的深度遍历能力以及Swing的GUI设计,提供了一个方便用户快速查找特定文件的实用工具。通过理解和学习这个工具的源码,开发者可以深入掌握...
总结一下,实现“单file控件批量上传文件”主要涉及以下技术点: 1. HTML5的`<input type="file" multiple>`控件用于多文件选择。 2. 使用File API和FormData对象进行前端文件上传。 3. JavaScript监听`change`事件...
Java中的`File`类是Java.io包中的核心类,它...以上只是`File`类部分核心知识点的总结,实际使用中还需结合具体需求灵活运用,并注意异常处理。学习和理解`File`类及其相关API有助于更好地进行文件操作,提升编程效率。
使用File类的Delete方法可以轻松删除文件: ```csharp File.Delete(filePath); ``` 4. 文件移动和重命名 File类还提供了Move方法来移动或重命名文件: ```csharp File.Move(filePath, "新位置的新文件.txt"); `...
总结,jQuery-File-Upload是一个强大且灵活的文件上传解决方案,它简化了前端文件上传的复杂性,提供了丰富的功能和高度的可定制性。无论你是初学者还是经验丰富的开发者,都能从中受益。在实际项目中,结合合理的...
"allFile.zip"的描述提到"总结的一些画图内容,总结的一些画图内容",这可能意味着压缩包内包含了与图像处理、图形设计或绘图相关的文件。 在Windows操作系统中,用户可以使用内置的压缩工具如WinRAR或7-Zip来创建...
"Java文件操作类File实现代码详解" Java文件操作类File实现代码是Java中最基本的文件操作类,它提供了对文件和目录的创建、重命名、删除、文件列表的操作以及判读是否存在等功能。 概述 Java文件操作类File实现...
IntelliJ IDEA学习总结 IntelliJ IDEA是一款功能强大且功能丰富的集成开发环境(IDE),它提供了许多实用的功能和设置,帮助开发者提高编码效率和开发质量。下面是IntelliJ IDEA的一些常见问题和解决方法: 一、...
而当我们谈论`annotation-file-utilities.jar.zip`时,这显然与处理和操作注解相关的工具库有关。 `annotation-file-utilities.jar`是这样一个库,它提供了一系列的工具和API,便于开发者对注解进行读取、分析和...
总结来说,这个DEMO展示了如何利用C#和`Microsoft.VisualBasic.FileIO`库实现安全删除文件到回收站的功能。这种做法对用户友好,同时保持了数据的安全性。通过理解和应用这些知识点,开发者可以更好地处理应用程序中...