`

I/O 1 :JAVA IO详解(File类)

    博客分类:
  • I/O
 
阅读更多

 

下面使用File类在C盘创建一个文本文件

 

package com.test.io;

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

public class FileTest {
	public static void main(String[] args) throws IOException {
		//在windows系统中使用"/"表示路径分隔符,也可使用"\\"作为路径分隔符
		File file = new File("c:/abc.txt");
		System.out.println(file.createNewFile());
	}
}

 也可使用File.separator作为文件分隔符,其可根据不同的操作系统来生成分隔符。

File file = new File("c:"+File.separator+"abc.txt");

 

 下面使用File(File parent,String child)构造函数创建一个文本文件

package com.test.io;

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

public class FileTest2 {

	public static void main(String[] args) throws IOException {
		File file = new File("c:\\abc");
		File file2 = new File(file,"hello.txt");
		file2.createNewFile();
	}

}

上例中需注意的是,abc文件夹必须先存在,才能在abc下创建hello.txt文件。

  

 

可以使用File类的以下两个方法来判断当前File是目录还是文件。

下面使用File类来创建文件夹

package com.test.io;

import java.io.File;

public class FileTest3 {

	public static void main(String[] args) {
		File file = new File("c:/abc/xyz");
		file.mkdir();
	}

}

 运行以上代码可以成功在abc目录下创建xyz文件夹。同理,abc目录必须事先存在。

但可以使用File类的mkdirs方法创建多个文件夹。

package com.test.io;

import java.io.File;

public class FileTest3 {

	public static void main(String[] args) {
		File file = new File("c:/abc/xyz/hello");
		file.mkdirs();
	}

}

运行如上代码,可以在C盘上同时创建abc,xyz,hello三个文件夹。 

 

使用File类中的

public String[] list()

方法可以列出此目录下的所有文件夹名与文件名,如下代码所示。

package com.test.io;

import java.io.File;

public class FileTest4 {

	public static void main(String[] args) {
		File file = new File("C:/Program Files");
		String[] names = file.list();
		for (String name : names) {
			System.out.println(name);
		}
	}

}

 也可使用File类中的

public File[] listFiles()

方法,它返回的是该文件夹下的文件夹或文件,并File对象形式返回。

 

下例中过滤出以.exe结尾的文件。用FilenameFile匿名内部类来过滤

package com.test.io;

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

public class FileTest4 {

	public static void main(String[] args) {
		File file = new File("C:/Program Files");
		String[] names = file.list(
			new FilenameFilter(){
				public boolean accept(File dir, String name) {
					//过滤出以.exe结尾的文件
					if(name.endsWith(".exe")){
						return true;
					}
					return false;
				};
			}
		);
		for (String name : names) {
			System.out.println(name);
		}
	}

}

 

分享到:
评论

相关推荐

    Java开发详解.zip

    031201_【第12章:JAVA IO】_File类笔记.pdf 031202_【第12章:JAVA IO】_RandomAccessFile笔记.pdf 031203_【第12章:JAVA IO】_字节流与字符流笔记.pdf 031204_【第12章:JAVA IO】_字节-字符转换流笔记.pdf ...

    java常用类解析及示例及一些工具类源代码

    主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...

    JavaIO流精讲上

    课程内容主要有:File类概述、File类功能讲解、JAVA IO流概述、字节流、字符流、缓冲流、InputStream、OutputStream、Reader、Writer、FileInputStream、FileOutputStream、InputStreamReader、OutputStreamWriter、...

    Java 基础核心总结 +经典算法大全.rar

    节点流和处理流 Java IO 的核心类 File Java IO 流对象 字节流对象InputStream OutputStream 字符流对象Reader Writer 字节流与字符流的转换新潮的 NIO 缓冲区(Buffer)通道(Channel) 示例:文件拷贝案例 BIO 和 NIO ...

    java 文件操作及IO流

    文件操作 IO流(File FileOutputStream OutputStreamWrite BufferWrite ......)代码及注释详解

    (超赞)JAVA精华之--深入JAVA API

    1 JAVA SE 1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date 1.1.2.1.2 日历类Calendar 1.1.2.1.3 随机数类Random 1.1.2.1.4 向量类Vector 1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable ...

    classfile-parser:用于以rust编写的Java Classfile的解析器

    Java类文件解析器 的解析器,使用用Rust编写。 安装 可从crates.io获得Classfile分析器,并可将其包含在启用了Cargo的项目中,如下所示: [ dependencies ] classfile-parser = " ~0.3 " 用法 extern crate class...

    JAVA SE学习精华集锦

    1 JAVA SE 2 1.1 深入JAVA API 2 1.1.1 Lang包 2 1.1.2 集合类 8 1.1.2.1.1 日期类Date 9 1.1.2.1.2 日历类Calendar 10 1.1.2.1.3 随机数类Random 11 1.1.2.1.4 向量类Vector 12 1.1.2.1.5 栈类Stack 13 1.1.2.1.6 ...

    java 编写文件上传类简单易用

    //1 int len = request.getContentLength(); byte buffer[] = new byte[len]; //2 InputStream in = request.getInputStream(); int total = 0; int once = 0; while ((total ) && (once >=0)) { once = in....

    java基础案例与开发详解案例源码全

    13.2 JavaIO原理332 13.3 流类结构333 13.3.1 InputStream和OutputStream333 13.3.2 Reader和Writer334 13.4 文件流336 13.4.1 FileInputStream和FileOutputStream336 13.4.2 FileReader和FileWriter338 13.5 缓冲流...

    Java基础知识点总结.docx

    File类 102 Java.util.Properties 103 介绍IO包中扩展功能的流对象 103 十七、 网络编程 110 网络基础之网络协议篇 111 UDP传输 124 TCP传输 126 十八、 反射技术 127 十九、 Ajax原理及实现步骤★★★★★ 130 Ajax...

    Java基础最全笔记文档

    Java基础笔记分为 Java基础篇 和 Java加强篇 ...9. File、方法递归、字符集、IO流(一) 10. IO流(二) 11. 多线程 12. 网络编程 13. 单元测试、反射、注解、动态代理 14. XML、解析、工厂模式和装饰模式

    commons-io-1.4

    Commons IO是针对开发IO流功能的工具类库,包含工具类、endian classes, line iterator, file filters, file comparators and stream implementations等。

    Java中的目录操作详解.pdf

    Java提供了多种方式来进行目录操作,例如创建、删除、遍历等。这些操作可以通过使用Java的标准库中的java.nio.file包和java.io包来实现。

    疯狂JAVA讲义

    第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...

    详解java解压缩zip和rar的工具类使用教程

    详解java解压缩zip和rar的工具类使用教程直接上代码 package decompress;  import java.io.File;  import java.io.FileOutputStream;  import org.apache.tools.ant.Project;  import org.apache.tools.ant...

    Java文件与类动手动脑实例详解

    动手动脑1: 使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件。 package classJava; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file....

    tomcat8.5:Tomcat8.5源码解析-源码解析

    虚拟机选项: -Dcatalina.home = catalina-home -Dcatalina.base = catalina-home -Djava.endorsed.dirs = catalina-home /认可-Djava.io.tmpdir = catalina-home / temp -Djava.util.logging.manager = org .apache...

Global site tag (gtag.js) - Google Analytics