`

黑马程序员--java基础复习--IO--File

 
阅读更多

 

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! --------------------- 

File是IO流中专门操作文件对象的类,这个类可以描述计算机中每个硬盘中的每个文件以及文件夹的属性,比如名字、是否为文件夹、是否存在、文件路径等。这是一个比较重要的类。

 

File类常用的方法:

  •   boolean  canExecute() 判断文件是否可以被执行
  •   boolean  exists() 判断文件是否存在
  •   boolean  isAbsolute()  判断文件路径是否为绝对路径
  •   boolean   isDirectory() 判断是否为文件夹
  •   boolean   isHidden() 判断是否为隐藏文件
  •   boolean   isFile() 判断是否为一个标准文件
  •   boolean   createNewFile() 创建文件,如果该路径已经存在文件,则返回false
  •   boolean   delete()  删除此抽象路径名表示的文件或目录  如果是目录的话,目录为空才能删除
  •   boolean   deleteOnExit() 在虚拟机退出的时候删除该抽象路径名表示的文件或目录,删除成功则返回true。
  •   File  getAbsoluteFile() 返回该抽象路径名的绝对路径形式
  •   String   getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
  •   String   getName() 返回由此抽象路径名表示的文件或目录的名称。
  •   String   getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null
  •   String  getPath() 将此抽象路径名转换为一个路径名字符串。
  •   boolean  mkdir() 创建此抽象路径名指定的目录。
  •   boolean  mkdirs()  创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。

还有各种set操作权限比如说可读可写、只读、只写等的方法。

 

File类中还提供了一个通用的文件路径分隔符,可以在不同的系统上使用,这是一个静态的成员变量

   File.separator  这个用的比较多

格式就是比方说要建立一个D盘下的log.txt则可以写

File file = new File("D:" + File.separator + "log.txt");

file.createNewFile;

 

这里要注意,创建File对象只是创建了一个文件的路径对象,文件存不存在是不知道的。

 

File类的最常见的用处就是找文件了,比方说找到D盘下所有的java文件并放到一个文档里边,这里边就要用到递归和输出流了,把这个练习放这里,以后多看看

 

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;

public class TestFile {

	public static void main(String[] args) {
		File file = new File("D:/");
		BufferedWriter writer = null;
		try {
			writer = new BufferedWriter(new FileWriter("D:/log.txt"));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		getFiles(file, writer);

		try {
			writer.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

	public static void getFiles(File file, BufferedWriter writer) {
		if (!file.exists())
			throw new RuntimeException("文件夹或者文件不存在"); // 判断下要去找东西的文件夹在不在
		if (file.isDirectory()) {
			File[] files = file.listFiles();

			if (files == null) // 如果目录中没有东西,就直接返回,在读到隐藏文件夹得时候也返回null
			{
				System.out.println(file.isHidden());
				return;
			}
			for (File f : files) {//遍历文件
				if (f.isDirectory())
					getFiles(f, writer);//如果是文件夹,继续调用此函数
				else if (f.isFile() && f.getName().endsWith(".java")) {//判断文件名,并将复核要求的写入log.txt
					try {
						writer.write(f.getAbsolutePath());
						writer.newLine();
						writer.flush();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
			}
		} else if (file.isFile() && file.getName().endsWith(".java")) {
			try {
				writer.write(file.getAbsolutePath());
				writer.newLine();
				writer.flush();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

1
3
分享到:
评论

相关推荐

    黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip

    黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip

    传智播客.黑马程序员《Java 基础入门》课后习题答案

    行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给 普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。 JDK(Java ...

    IO-黑马程序员Java学习笔记.rar

    "IO-黑马程序员Java学习笔记"这个压缩包包含了关于Java IO的详细教程,可以帮助我们深入理解这个关键领域。下面将根据提供的文件名来解析可能包含的知识点。 1. **IO.md**: 这个文件很可能是Markdown格式的学习...

    黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)

    黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)

    Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar

    本资料包“Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版).rar”提供了一个深入学习Java IO流的全面资源,包含实例题目、源代码以及PPT教学材料,适合对Java IO有进阶需求的开发者。 1. **Java ...

    01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip

    【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...

    黑马程序员入学Java精华总结

    ### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...

    commons-io-2.8.0-API文档-中英对照版.zip

    赠送jar包:commons-io-2.8.0.jar; 赠送原API文档:commons-io-2.8.0-javadoc.jar; 赠送源代码:commons-io-2.8.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.8.0.pom; 包含翻译后的API文档:commons-io...

    protoc-gen-grpc-java-1.40.0-osx-aarch_64.exe

    protoc-gen-grpc-java-1.40.0-osx-aarch_64 mac arm芯片平台grpc生成java的支持。官网上面没有,这是基于源码编译生成的。 pom.xml:(protoc-gen-grpc-java-1.40.0.pom) <?xml version="1.0" encoding="UTF-8"?> ...

    java-IO流 commons-io-2.11.0.jar

    java-IO流 commons-io-2.11.0.jar

    commons-io-2.11.0-API文档-中文版.zip

    赠送jar包:commons-io-2.11.0.jar; 赠送原API文档:commons-io-2.11.0-javadoc.jar; 赠送源代码:commons-io-2.11.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.11.0.pom; 包含翻译后的API文档:...

    commons-io-2.7-API文档-中文版.zip

    赠送jar包:commons-io-2.7.jar; 赠送原API文档:commons-io-2.7-javadoc.jar; 赠送源代码:commons-io-2.7-sources.jar; 赠送Maven依赖信息文件:commons-io-2.7.pom; 包含翻译后的API文档:commons-io-2.7-...

    Java IO commons-io-2.5.jar

    `commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准IO库的类和方法。这个库为开发者提供了更高效、更便捷的方式来执行常见的文件、目录和流操作。 一、Java IO 基础 Java IO ...

    黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习).zip

    在这个“黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习)”中,毕向东老师将深入讲解如何使用Java IO流来读取文本文件。Java IO流提供了多种类和方法,使得开发者可以灵活高效地处理输入和输出...

    Java基础案例教程(第2版)_PPT.zip

    《Java基础案例教程(第2版)》是一本旨在教授初学者Java编程基础知识的教材,其PPT形式的压缩包提供了清晰、直观的教学材料。在深入探讨这些知识点之前,我们首先了解一下Java语言的基础概念。 Java是一种面向对象...

    commons-io-2.5-API文档-中文版.zip

    赠送jar包:commons-io-2.5.jar; 赠送原API文档:commons-io-2.5-javadoc.jar; 赠送源代码:commons-io-2.5-sources.jar; 赠送Maven依赖信息文件:commons-io-2.5.pom; 包含翻译后的API文档:commons-io-2.5-...

    commons-io-1.3.2-API文档-中文版.zip

    赠送jar包:commons-io-1.3.2.jar; 赠送原API文档:commons-io-1.3.2-javadoc.jar; 赠送源代码:commons-io-1.3.2-sources.jar; 赠送Maven依赖信息文件:commons-io-1.3.2.pom; 包含翻译后的API文档:commons-io...

    fastdfs-client-java-1.29-SNAPSHOT.jar

    总结起来,`fastdfs-client-java-1.29-SNAPSHOT.jar`是FastDFS与Java应用交互的关键组件,配合`commons-io-2.4.jar`库,能够实现文件在Java环境下的高效上传和下载。同时,`FastDFSClient.java`的源代码和`fdfs_...

    黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件).zip

    本教程《黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件)》专注于讲解如何利用IO流来实现文本文件的复制操作。这个过程涉及到了对文件读取、数据缓冲以及写入等基础知识,对于初学者来说是理解和...

    黑马程序员面试宝典(java)2018版

    1. **Java基础** - 类与对象:理解面向对象编程的基本概念,如封装、继承、多态。 - 异常处理:掌握如何使用try-catch-finally语句进行异常处理,理解Checked和Unchecked异常的区别。 - 内存管理:理解栈和堆的...

Global site tag (gtag.js) - Google Analytics