`
Mr.snail
  • 浏览: 27399 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java学习——File类操作

阅读更多
[size=large][/size]
前几天跟着熊哥一块学习了File类机制的相关操作,上那节课的时候觉得File类操作好简单,一个小时左右就搞定了最简单的练习,但到了要实现一个窗体类型的文件搜索器时,我却遇到了很大的困难。。。各种新方法,还有一些参数的传递,构造方法的使用都让我头大,这个以后会写另外一篇总结来总结下的,今天我还是先稍微说下File类机制操作的相关总结经验。

首先,来介绍一下File类的构造方法和一些我用到的很基本的方法。
实例化对象的话可以通过最基本的new File(String path)来实现,然后括号里的参数为file文件(目录)所在的路径,通过给定的路径来实例化这个file。

另外,经常用到的方法大概有下面这些:
最基本的创建一个文件creatNewFile(),还有与其对应的删除一个文件delete()。

判断该file是文件还是目录isFile(),isDirectory().返回值是boolean类型的,存在的话会返回一个true值,不存在则返回false。

判断该file是否存在exit().同样返回值是boolean类型的,存在的话会返回一个true值,不存在则返回false。

listRoots()和listFiles()都是会返回一个File[]数组,前者是系统的根目录,后者则是返回所在目录下的文件。

得到文件的名字getName(),同样的还有得到文件的绝对路径getAbsolutePath()

大概就是用到了上面这些方法,下面我给大家看下我做的及其丑陋加简陋的文件搜索器

噗...才发现我不会上图。。那我就先上下我的一部分代码吧,是关于实现File类操作的关键代码。
package ssss;

import java.io.File;

/**
 * 该类实现了寻找文件的具体位置及文件的总个数
 * 
 * @author 王成威
 * 
 */
public class FileSearch {
	//定义关键字content
	private static String content;
	
	/**
	 * 构造函数
	 * @param content
	 */
	public FileSearch(String content) {
		this.content = content;
	}

	/**
	 * 主函数
	 * @param path
	 * @return count
	 */
	public static int listRoot(String path) {
		int count = 0;
		File file = new File(path);
		File[] lf = file.listFiles();//实例化一个数组来存储返回的文件路径
		if (lf != null && lf.length > 0) {//如果数组不为空且数组长度大于0
			for (int i = 0; i < lf.length; i++) {//循环遍历
				if (lf[i].isFile()) {//如果是文件
					if (lf[i].getName().contains(content)) {//如果包含关键字
						count++;//count数值+1
//						System.out.println(lf[i].getAbsolutePath());
						 MainClass.Tarea.append(lf[i].getAbsolutePath() +
						 "\r\n");//在Tarea里显示出文件的绝对路径
					}
				} else if (lf[i].isDirectory()) {//如果是目录
					count++;//count数值加1
					listRoot(lf[i].getAbsolutePath());//通过递归再次使用listRoot方法

				}
			}
		}

		return count;

	}
}

大概就是这些了,过段时间我会再来慢慢完善我那丑陋的文件搜索器的,到时候再爆照~~

图片好了,先传上来吧。。
分享到:
评论

相关推荐

    java工具类——file

    文件的复制、删除等封装操作

    JAVA文件操作——File 、 RandomAccessFile(上).mp4

    文件操作——File 、 RandomAccessFile(上).mp4

    java课件——全面介绍java知识

    Java提供了System类、File类以及InputStream、OutputStream等流类来处理文件和数据传输。 网络编程是Java的一大强项,Socket编程和HTTP协议的处理是关键。Java的Socket类和ServerSocket类用于创建TCP连接,...

    java基础——————试题库

    这份“java基础——————试题库”资源旨在帮助学习者系统地复习和深入理解Java的基础知识,确保他们能够全方位地掌握这一强大的编程工具。下面将详细阐述Java的基础知识点。 1. **Java简介** - Java是由Sun ...

    文件操作——File 、 RandomAccessFile(上).mp4

    文件操作——File 、 RandomAccessFile(上).mp4

    java面试——深圳-银盛支付-Java中级.zip

    还要掌握NIO(非阻塞I/O)和File类的相关操作。 6. **反射**:学习如何在运行时动态获取类的信息,创建对象,调用方法,以及修改私有成员变量。 7. **JVM内存模型**:理解堆、栈、方法区、本地方法栈、程序计数器...

    java基础——IO流及File-RandomAccessFile对象.docx

    ### Java基础——IO流及File、RandomAccessFile对象 #### IO流概述 在Java中,IO流主要用于处理设备上的数据,这里的“流”可以被理解为数据的流动过程,即数据从一个地方移动到另一个地方的过程。Java中的IO流通过...

    JAVA-SE入门学习——第九讲IO流

    JAVA-SE入门学习——第九讲IO流 在 Java 中,IO 流(Input/Output Stream)是一种基本的输入/输出机制,它允许程序读取和写入各种类型的数据。IO 流是 Java 编程语言的核心组件之一,它提供了一种通用的方式来处理...

    java学习ing——初识文件

    在Java中,文件操作主要涉及到两个核心类:`java.io.File` 和 `java.nio.file.Files`。`File` 类是旧的I/O流模型的一部分,而`Files` 类则是NIO(New IO)框架的一部分,提供了一种更现代且功能更强大的方式来处理...

    java学习笔记——异常

    Java学习笔记——异常 在Java编程中,异常处理是一项至关重要的技能,它允许开发者优雅地处理程序运行时可能遇到的问题,防止程序意外终止,并提供有用的反馈信息。异常是程序执行过程中遇到的不正常情况,例如除以...

    java面试——南京-软通动力-Java中级.zip

    - **文件操作**:File类的常见方法,如创建、删除、重命名文件。 7. **多线程** - **线程的创建**:通过Thread类和Runnable接口创建线程。 - **同步机制**:synchronized关键字,wait/notify机制,以及Lock接口...

    java程序——遍历目录文件

    首先,我们需要引入Java的`java.io`包,它包含了处理输入/输出流和文件操作的类。在这个程序中,我们主要会用到`File`类,它可以代表一个文件或目录,并提供了许多方法来获取文件属性。 ```java import java.io....

    Java中的File类——学习小结

    1.什么是File类 Java是面对对象的语言,计算机中的内容不是文件即是文件夹。 获取File类有三种方式【构造方法】: File&#40;String pathNmae&#41;; 根据对应的文件路径创建获取对应的File类对象,可以是文件,可以是...

    Java类动态加载(一)——java源文件动态编译为class文件

    这篇博客“Java类动态加载(一)——java源文件动态编译为class文件”可能主要探讨了如何在运行时将Java源代码(.java)编译成对应的字节码文件(.class),并将其加载到Java虚拟机(JVM)中。以下是对这个主题的详细解析...

    java面试——深圳-乐信-Java高级.zip

    - 文件操作:File类,FileInputStream和FileOutputStream。 - 转换流(InputStreamReader/OutputStreamWriter)和字符集编码。 - NIO(New IO)的特性,通道和缓冲区。 10. **Spring框架及其实现原理**: - DI...

    北大Java讲义——绝对经典

    - **File类**:用于文件的创建、读写和删除等操作。 - **字节流与字符流**:字节流处理原始字节数据,字符流处理字符数据。 - **缓冲流**:提高数据传输效率,如BufferedReader和BufferedWriter。 - **对象序列...

    尚硅谷Java基础实战——Bank项目下载地址

    通过参与"尚硅谷Java基础实战——Bank项目"的学习,你可以逐步掌握Java编程的基础,并了解如何将这些知识应用到实际问题中,从而提升编程技能和解决问题的能力。这个项目不仅适用于初学者,也是对已有Java知识进行...

    java学习教程——简洁易懂,一步步跟随即可上手学习

    - **文件操作**:File类的使用,读写文件。 - **流**:字节流和字符流的理解,如InputStream、OutputStream、Reader、Writer等。 - **缓冲流**:BufferedReader、BufferedWriter等提高读写效率。 - **对象序列化...

    java面试——北京-京东-Java中级.zip

    - 文件操作:File类的常用方法,以及FileInputStream和FileOutputStream的使用。 - 转换流:BufferedReader和PrintWriter在读写过程中的作用。 - 对象流:Serializable接口,以及ObjectInputStream和...

    Java——API6

    - 新的非阻塞I/O API(NIO.2,也称为Java SE 7的File API)在Java 6中预览,提供了一套新的文件系统接口,包括异步I/O操作、文件属性和文件通道等。 5. **Java Web Start和Applets的增强**: - Java Web Start的...

Global site tag (gtag.js) - Google Analytics