`

Java I/O -- File

    博客分类:
  • Java
 
阅读更多

File类

  • 一个File类的对象,表示了磁盘上的文件或目录
  • File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作
  • File类直接处理文件和文件系统
  • File类没有指定信息怎样从文件读取或向文件存储
  • File类描述了文件本身的属性
  • File对象用来获取或处理与磁盘文件相关的信息,例如权限,时间,日期和目录路径
  • File类还可以浏览子目录层次结构
  • java.io包中的File类提供了与具体平台无关的方式来描述目录和文件对象的属性功能。其中包含大量的方法可用来获取路径、目录和文件的相关信息,并对它们进行创建、删除、改名等管理工作。因为不同的系统平台,对文件路径的描述不尽相同。为做到平台无关,在Java语言中,使用抽象路径等概念。Java自动进行不同系统平台的文件路径描述与抽象文件路径之间的转换。
  • File类的直接父类是Object类

File类常用方法

– String getName() 返回文件名

– String getPath()

– String getAbsolutePath()

– String getParent() 返回父目录名

– boolean renameTo( File newName)

– long length()

– boolean delete()

– boolean mkdir() 根据抽象路径名创建目录

– String[] list() 返回抽象路径名表示路径中的文件名和目录名

– boolean exists() 在文件存在的情况下返回true,反之返回false

– boolean canWrite()

– boolean canRead()

– boolean isFile()

– boolean isDirectory()

 

 

示例程序

FileTest1.java

package com.fairy.io;

import java.io.File;
import java.io.IOException;

public class FileTest1 {
	public static void main(String[] args) {
		File file1 = new File("C:\\text1.txt");
		File file2 = new File("C:/text2.txt");
		File file3 = new File("C:" + File.separator + "text3.txt");

		try {
			System.out.println(file1.createNewFile());
			System.out.println(file2.createNewFile());
			System.out.println(file3.createNewFile());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

FileTest2.java

package com.fairy.io;

import java.io.File;
import java.io.IOException;

public class FileTest2 {
	public static void main(String[] args) {
		File file = new File("C:/abc/xyz");

		File file2 = new File(file, "text.txt");
		
		File file3 = new File("C:/abc/xyz", "text2.txt");

		try {
			file2.createNewFile();
			file3.createNewFile();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

 

FileTest3.java

package com.fairy.io;

import java.io.File;

public class FileTest3 {
	public static void main(String[] args) {
		File file = new File("C:/abc/xyz/hello");

		System.out.println(file.mkdir());
		System.out.println(file.isDirectory());
		System.out.println(file.isFile());

		File file1 = new File("C:/abc/abc/abc");

		System.out.println(file1.mkdir());
		System.out.println(file1.mkdirs());
	}
}

 

FileTest4.java

package com.fairy.io;

import java.io.File;

public class FileTest4 {
	public static void main(String[] args) {
		File file = new File("D:/Util");

		String[] names = file.list();

		for (String name : names) {
			System.out.println(name);
		}
		
		System.out.println();
		
		File[] files = file.listFiles();
		
		for (File f : files) {
			System.out.println(f.getName());
		}
	}
}

 

FileTest5.java

package com.fairy.io;

import java.io.File;

public class FileTest5 {
	public static void main(String[] args) {
		File file = new File("C:/abc/xyz");

		String[] names = file.list();

		for (String name : names) {
			if (name.endsWith(".java")) {
				System.out.println(name);
			} 
		}
	}
}

 

使用FilenameFilter

– 希望能够限制由list( )方法返回的文件数目,使它仅返回那些与一定的文件名方式或者过滤(filter)相匹配的文件。为达到这样的目的,必须使用list( )的第二种形式 (方法重载

String[ ] list(FilenameFilter FFObj)

– 该形式中,FFObj是一个实现FilenameFilter接口的类的对象 

FilenameFilter仅定义了一个方法,accept( )。该方法被列表中的每个文件调用一次。它的通常

形式如下:

boolean accept(File directory, String filename)

当被directory 指定的目录中的文件(也就是说,那些与filename 参数匹配的文件)包含在列表中时,accept( )方法返回true ,当这些文件没有包括在列表中时,accept( )返回false 

FileTest6.java

package com.fairy.io;

import java.io.File;
import java.io.FilenameFilter;

public class FileTest6 {
	public static void main(String[] args) {
		File file = new File("C:/abc/xyz");

		String[] names = file.list(new FilenameFilter() {

			@Override
			public boolean accept(File dir, String name) {
				if (name.endsWith(".java")) {
					return true;
				}
				
				return false;
			}
		});
		
		for (String name : names) {
			System.out.println(name);
		}
	}
}
 
分享到:
评论

相关推荐

    Java I/O, 2nd Edition

    2. **标准I/O库**:详细讲解了java.io包中的类和接口,如File类用于文件的创建、读写和删除,InputStream和OutputStream是所有字节流的基类,Reader和Writer则是字符流的基类。此外,还有ObjectInputStream和...

    深入分析 Java I/O 的工作机制(转载)

    Java I/O(输入/输出)系统是Java编程语言中用于处理数据流的重要组成部分,它允许程序与外部资源如文件、网络、硬件设备等进行交互。深入理解Java I/O的工作机制对于开发高效、可靠的系统至关重要。以下是对Java I/...

    Java I/O系统

    文件操作是Java I/O的常见应用场景,`File`类提供了文件和目录的基本操作,如创建、删除、重命名等。而`FileReader`和`FileWriter`则可以用来读写文本文件。对于二进制文件,如图片或音频文件,通常会用到`...

    Java I/O 流代码实例大全(01~09)

    Java I/O 流代码实例大全(01~09) File、FileInputStream、FileOutputStream、FileReader、FileWriter、BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter

    Java I/O层次结构详解

    Java I/O层次结构详解 Java I/O系统是Java平台中不可或缺的一部分,它为开发者提供了处理输入和输出的强大工具。在Java中,I/O操作主要基于流(Stream)的概念,流可以被视为数据的有序序列,既可以代表从源读取...

    java i/0习题

    Java I/O(输入/输出)是Java编程语言中不可或缺的一部分,它允许程序与外部资源进行数据交换,如文件、网络连接、系统硬件等。在Java I/O中,我们使用流(Stream)的概念来处理数据,流是数据传输的通道。本套习题...

    java对I/O流的处理

    Java中的I/O流处理是程序与外部设备交互数据的关键机制,包括从文件、网络、内存等数据源读取数据和向这些目标写入数据。I/O流系统在Java的`java.io`包中被实现,提供了丰富的类和接口来支持各种类型的流操作。 **I...

    Java I/O详细笔记

    ### Java I/O详细笔记 #### 一、流的分类 Java I/O系统主要涉及四种基本的流分类方式:根据数据流动的方向、数据处理的类型、流处理的源以及是否使用了缓冲机制。 **1. 按数据流动方向** - **输入流(Input ...

    Java I/O流通讯录

    Java I/O流通讯录是一个基于Java编程语言设计的实用程序,它主要用于演示和学习Java的I/O流操作。在这个项目中,开发者通过I/O流实现了对文件的读写功能,从而构建了一个简单的通讯录系统。这个系统允许用户进行添加...

    Java Web上传组件使用:Commons-fileupload

    其中,`commons-io`是FileUpload的依赖,用于处理I/O操作。 2. **配置Servlet** 创建一个Servlet来处理文件上传请求。首先,需要设置Servlet容器(如Tomcat)支持大文件上传,通过设置`multipart-config`元素来...

    java基础之I/O流

    Java中的I/O流是程序与外部数据交互的重要机制,它允许数据在程序、文件、网络等之间流动。I/O流分为两大类:字符流(Character Stream)和字节流(Byte Stream),每类又分为输入流(Input Stream)和输出流...

    Java I/O文件读写/删除/复制等

    Java I/O 文件操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,涉及文件的创建、读取、写入、删除以及复制等任务。在Java中,这些操作主要是通过java.io包提供的类来实现的。下面将详细介绍这些知识点...

    怎么使用I/O编程???

    在Java编程中,I/O(Input/Output)处理是与外部世界交互的关键技术,涉及文件读写、网络通信等场景。I/O的核心思想是通过流(Stream)来传输数据,使得程序能从数据源读取数据或将数据写入目标。 **1.1 I/O简介** I...

    android 快速的搜索手机文件引擎 java I/O的应用

    Java I/O(输入/输出)库在其中起着至关重要的作用,因为它允许我们高效地读取、写入和处理文件系统数据。本篇文章将深入探讨如何利用Java I/O在Android上实现高效的文件搜索功能。 1. **Java I/O基础** - Java I/...

    Java I/O 使用和最佳实践

    Java I/O系统是Java编程语言中的一个核心组成部分,它提供了处理输入输出操作的类和接口。这个系统的设计目的是为了使得应用程序能够与外部世界交互,包括读取和写入文件、网络数据、标准输入输出流等。在Java中,I/...

    Java课程设计报告书-学生版-1_I/O流与文件课程设计_

    在Java编程语言中,I/O流(Input/Output Stream)是处理数据输入和输出的核心机制。本课程设计报告书——“Java课程设计报告书-学生版-1_I/O流与文件课程设计_”旨在帮助学生深入理解并掌握如何在Java中进行文件操作...

    java i/o包流式输入输出和文件操作

    Java I/O 包是Java平台的核心部分,它提供了丰富的类和接口用于处理输入输出操作,包括文件操作和流式输入输出。在这个主题中,我们将深入探讨如何使用Java进行文件管理和流处理。 首先,我们来看看`java.io`包中的...

Global site tag (gtag.js) - Google Analytics