JavaIO流——File类
1、掌握File 类的作用
2、可以使用File 类中的方法对文件进行操作

所有的 io 操作都保存在 java.io 包中。
构造方法:public File (String pathname)
直接根据路径找到文件。
1. 创建一个新文件
创建文件: public boolean createNewFile() throws IOException
假设:现在要在d 盘上创建一个doc.txt 文件。
- import java.io.*;
- import java.io.IOException;
- public class FileDemo{
- File file=new File("d:"+File.separator+"doc.txt"); // ("d:\\doc.txt")分隔符的使用,两个反斜杠
- try{
- file.createNewFile();
- }catch(IOException e){
- e.printStackTrace();
- }
- }
在各个操作系统中,实际上路径的分隔符是不一样的,例如:
windows 中使用反斜杠:“\”
linux 中使用正斜杠:“/”
如果想让 JAVA 程序的可移植性继续保持,则最好根据所在的操作系统来自动使用分隔符File.separator。
File.pathSeparator与File.separator的区别?
前者为分号 ; 后者为冒号 :
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo02{
- public static void main(String args[]){
- System.out.println("pathSeparator:" + File.pathSeparator) ; // 调用静态常量
- System.out.println("separator:" + File.separator) ; // 调用静态常量
- }
- };
如果想让 JAVA 程序继续保持可移植性,那么在编写路径的时候就应该使用 File 类中的常量。
注意:在操作文件的时候一定要注意分隔符,使用 File.separator 表示。
2. 删除一个指定的文件
public boolean delete() 将之前建立的文件,删除掉。先判断文件是否存在
在File 类中可以使用 exists() 方法判断一个文件是否存在:public boolean exists()
import java.io.File;
import java.io.IOException;
public calss FileDemo{
public static void main(String args[]){
File file=new File("d:"+File.separaor+"doc.txt"); //找到文件路径
if(file.exists()){ //如果文件存在
file.delete();
}
}
}
3.综合创建、删除文件的操作
现在以下一个要求:给定一个路径,如果此文件存在,则删除;如果文件不存在则创建一个新的文件。
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo06{
- public static void main(String args[]){
- File f = new File("d:"+File.separator+"test.txt") ; // 实例化File类的对象
- if(f.exists()){ // 如果文件存在则删除
- f.delete() ; // 删除文件
- }else{
- try{
- f.createNewFile() ; // 创建文件,根据给定的路径创建
- }catch(IOException e){
- e.printStackTrace() ; // 输出异常信息
- }
- }
- }
- };
从程序的运行结果中可以发现,所有的操作并不会立刻执行,因为JAVA 是通过JVM 与底层进行交互的,所以所有的操作需要经过JVM完成,那么就可能产生延迟。
提示:对于文件的后缀,是可有可无的。
4.创建一个文件夹
使用mkdir() 方法创建一个文件夹 public boolean mkdir()
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo07{
- public static void main(String args[]){
- File f = new File("d:"+File.separator+"mldn") ; // 实例化File类的对象
- f.mkdir() ; // 创建文件夹
- }
- };
5.列出指定目录的全部文件
如果现在给出了一个目录,则可以直接列出目录中的内容,但是列出的方法在File 类中存在两个:
以字符串数组的形式返回:public String[] list() 返回路径下所有文件的名
以 File 数组的形式返回: public File[] listFiles() 返回所以文件的路径
操作一: 使用list() 列出全部内容
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo08{
- public static void main(String args[]){
- File f = new File("d:"+File.separator) ; // 实例化File类的对象
- String str[] = f.list() ; // 列出给定目录中的内容
- for(int i=0;i<str.length;i++){
- System.out.println(str[i]) ;
- }
- }
- };
操作二: 使用listFiles() 列出全部内容(带路径)
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo09{
- public static void main(String args[]){
- File f = new File("d:"+File.separator) ; // 实例化File类的对象
- File files[] = f.listFiles() ; // 列出全部内容
- for(int i=0;i<files.length;i++){
- System.out.println(files[i]) ;
- }
- }
- };
后者列出的是一个完整的路径,这样对于程序本身来说是很容易操作的。
6.判断一个给定的路径是否是目录(即,是否是文件夹)
在File 类中直接使用: public boolean isDirectory()
取得文件的路径: public boolean getPath()
给定路径,判断是否是目录
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo10{
- public static void main(String args[]){
- File f = new File("d:"+File.separator) ; // 实例化File类的对象
- if(f.isDirectory()){ // 判断是否是目录
- System.out.println(f.getPath() + "路径是目录。") ;
- }else{
- System.out.println(f.getPath() + "路径不是目录。") ;
- }
- }
- };
7、要求:列出指定目录的全部内容
如果给定了一个目录,则要求将此目录中的全部文件都列出来,但是列的时候还会存在子文件夹。

应该采用递归的调用形式。
- import java.io.File ;
- import java.io.IOException ;
- public class FileDemo11{
- public static void main(String args[]){
- File my = new File("d:" + File.separator) ; // 操作路径
- print(my) ;
- }
- public static void print(File file){ // 递归调用
- if(file!=null){ // 判断对象是否为空
- if(file.isDirectory()){ // 如果是目录
- File f[] = file.listFiles() ; // 列出全部的文件
- if(f!=null){ // 判断此目录能否列出
- for(int i=0;i<f.length;i++){
- print(f[i]) ; // 因为给的路径有可能是目录,所以,继续判断
- }
- }
- }else{
- System.out.println(file) ; // 输出路径
- }
- }
- }
- };
JavaIO流——File类的更多相关文章
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...
- java-IO流(File对象-深度遍历指定目录下的文件夹和文件)
需求:遍历这个树状结构 File(String pathname) '\\'为了转义'\' // 通过抽象路径pathname 创建一个新的文件或者目录 File parent = new File( ...
- 021.1 IO流——File类
########################################IO流: IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘 流:系统资源,Windows系统本身就可 ...
- Java—IO流 File类的常用API
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...
- IO流——File类(文件流类)
java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...
- 09、IO流—File类与IO流
目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...
- JavaIO之File类
Java-IO之File类 Java-IO之File类 1. File类 1.1. File类说明 1.2. 体验 File 类 1.3. 构造一个 File 类实例: 1.4. 路径: 1.4.1. ...
- I/O流——File类及使用
I/O框架介绍 I/O是计算机输入/输出的接口.Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等. File类及使用 ① 一个File类的对 ...
- JAVA:IO流——File类
1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...
随机推荐
- Java编程-基本语句
一个基本的输出语句: package Hello; import java.util.Scanner; public class Hello { public static void main(Str ...
- Android模拟器的ip获取以及模拟器之间socket通信
Android模拟器的ip获取以及模拟器之间socket通信 http://kalogen.iteye.com/blog/1565507 作者:李波 实现网络五子棋时用到了两个设备 ...
- 3 kafka介绍
本博文的主要内容有 .kafka的官网介绍 http://kafka.apache.org/ 来,用官网上的教程,快速入门. http://kafka.apache.org/documentatio ...
- nyoj 710 外星人的供给站【贪心区间选点】
外星人的供给站 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 外星人指的是地球以外的智慧生命.外星人长的是不是与地球上的人一样并不重要,但起码应该符合我们目前对生命 ...
- c#基础语言编程-正则表达式应用
引言 在不同语言中虽正则表达式一样,但应用函数还是有所区别,在c#语言中使用Regex. 可以通过以下两种方式之一使用正则表达式引擎: 通过调用 Regex 类的静态方法. 方法参数包含输入字符串和正 ...
- 【protobuf进阶】通过.proto文件导出C#支持的.cs类文件
protobuf是一个跨平台的消息交互协议,类似xml.json等. protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.google 提供了多 ...
- leetcode题解||Reverse Integer 问题
problem: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 ...
- 在32位Windows 8或Windows 7上安装Windows Phone 8 SDK
这需要一点技巧的,其实WPSDK8是支持32位系统的,可因为微软脑残的限制,安装方法如下: 这里必需要有一个工具,OllyDbg 2.0,去官网下载即可. 启动OD,在菜单打开选项窗口,在Events ...
- 彻底理解Cisco/Linux/Windows的IP路由
-1.只要理解实质,名称并不重要! 很多使用Linux的网络高手在面对Cisco管理员的诸如管理距离,路由度量等词汇时,还没有PK就自觉败下阵来了.我觉得这实在太可惜了,大家本是一家,为何这么为难对方 ...
- 安全通信 QSslSocket
The QSslSocket class provides an SSL encrypted socket for both clients and servers. More... Header: ...

