目标

1)掌握File类作用

2)可以使用file类中方法对文件进行读写操作。

File类

唯一与文件有关的类。使用file类可进行创建或删除操作,要想使用File类,首先观察File类的构造方法。

public File(String pathname);实例化File类的时候,必须设置好路径。

常量::

public staitc final String pathSeparator;

明明使用了static final定义的常量,这里为什么使用了小写方式。实际上这属于JAVA的历史遗留问题。

实例操作一:创建一个新文件。

创建文件:

public boolean creatNewFile() throws IOExcetion

用以上方法就可以创建文件,但是注意要有异常处理。

在D盘创建一个文件:

importjava.io.File ;importjava.io.IOException ;public classFileDemo01{public static voidmain(String args[]){

File f= new File("d:\\test.txt") ; // 实例化File类的对象,给出路径

try{

f.createNewFile() ;// 创建文件,根据给定的路径创建

}catch(IOException e){

e.printStackTrace() ;//输出异常信息

}

}

};

运行结果:

步骤:首先创建File对象,创建对象的时候要给出文件路径,然后用这个对象调用creatNewFile()方法,注意调用方法时候要有异常处理。

以上完成了文件创建功能,但是开发中以上程序编写肯定会出现错误,在各个操作系统中,路径分隔符是不一样的。例如:

windows使用反斜杠:"\"

Linux中使用正斜杠:"/"

要想让JAVA可移植增强,最好让操作系统自动使用分隔符。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

System.out.println("pathSeparator:" + File.pathSeparator) ; //调用静态常量

System.out.println("separator:" + File.separator) ; //调用静态常量

}

}

运行结果:

pathSeparator:;

separator:\

要想保持可移植性,在编写的时候应该使用File类中的常量。修改之前程序。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator+"test.txt") ; //实例化File类的对象

try{

f.createNewFile() ;//创建文件,根据给定的路径创建

}catch(IOException e){

e.printStackTrace() ;//输出异常信息

}

}

}

注意:在操作文件的时候一定要注意分隔符,使用File.separator表示。

删除一个指定的文件

删除文件方法:

public boolean delete();

将之前建立好的文件删除掉。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator+"test.txt") ; // 实例化File类的对象

f.delete() ; // 删除文件

}

}

运行结果:

确实删除了文件。

此时文件确实删除了,但是删除之前最好进行判断文件是不是存在。

在File类中可以使用exists()方法判断一个文件是否存在。

public boolean exists();

使用以上代码增强之前程序。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator+"test.txt") ; //实例化File类的对象

if(f.exists()){ // 如果文件存在则删除

f.delete() ; //删除文件

}elseSystem.out.println("文件不存在");

}

}

运行结果:

文件不存在

由于之前已经删除了,所以这里文件不存在。

综合创建,删除文件的操作

要求:给定一个路径,如果文件存在删除,不存在,创建之。

importjava.io.File ;importjava.io.IOException ;public classFileDemo06{public static voidmain(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() ;//输出异常信息

}

}

}

};

提示:对于文件的后缀可有可无。

创建文件夹

使用mkdir()方法创建文件夹、

public boolean mkdir();

实例;

importjava.io.File ;importjava.io.IOException ;public classFileDemo07{public static voidmain(String args[]){

File f= new File("d:"+File.separator+"mldn") ; //实例化File类的对象

f.mkdir() ; //创建文件夹

}

};

运行结果:创建成功一个名为mldn的文件夹。

列出指定目录的全部文件。

如果给出一个目录,可以列出目录中全部内容,但是列出的方法存在两个:

1,以字符串数组的形式返回。

public String [] list();

2,以File数组形式返回:

pulbic File [] listFiles();

操作一:list()方法:

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator) ; //实例化File类的对象

String str[] = f.list() ; // 列出给定目录中的内容

for(int i=0;i

System.out.println(str[i]) ;

}

}

}

运行结果:

$RECYCLE.BIN

360SoftMove

BDSoftMgrData

Config.Msi

FDownload

MSOCache

Program Files

System Volume Information

TrainingPackage_dna

TrainingPackage_zcgl

办公软件

我的文档

搜狗高速下载

搞笑

文件清理.bat

编程软件

以上只是列出全部文件名字。

操作2,使用listFiles()方法列出。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator) ; //实例化File类的对象

File files[] = f.listFiles() ; // 列出全部内容,注意需要一个files对象数组接受这个返回数组。

for(int i=0;i

System.out.println(files[i]) ;

}

}

}

运行结果:

d:\$RECYCLE.BIN

d:\360SoftMove

d:\BDSoftMgrData

d:\Config.Msi

d:\FDownload

d:\GSP平台

d:\GS管理套件

d:\MSOCache

d:\Program Files

d:\System Volume Information

d:\TrainingPackage_dna

d:\TrainingPackage_zcgl

d:\久其培训

d:\办公软件

d:\我的文档

d:\搜狗高速下载

d:\搞笑

d:\文件清理.bat

d:\编程软件

d:\蓝桥杯试题

此时列出的是完整的路径。这样对于程序本身是很容易操作的。

判断一个给定的路径是否目录。

在File类中直接使用方法:public boolean isDirectory();

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[])

{

File f= new File("d:"+File.separator) ; //实例化File类的对象

if(f.isDirectory()){ //判断是否是目录

System.out.println(f.getPath() + "路径是目录。") ;

}else{

System.out.println(f.getPath()+ "路径不是目录。") ;

}

}

}

运行结果:

d:\路径是目录。

列出指定目录的全部内容

如果给定一个目录,则讲目录的全部文件列出来,但是列的时候可能存在子文件夹,子文件夹也有子文件夹。

应该采用递归的形式。

packageThread1;importjava.io.File;importjava.io.IOException;public classdemo1{public static voidmain(String args[]){

File my= new File("d:" + File.separator+"FDownload") ; //操作路径

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

print(f[i]) ;// 因为给的路径有可能是目录,所以,继续判断,继续递归。

}

}

}else{

System.out.println(file) ;//输出路径

}

}

}

};

运行结果:

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第一集 诗的起源[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第七集 亲情诗[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第三集 春江花月夜[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第二集 枫桥夜泊[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第五集 民歌[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第六集 怀乡诗[高清版].mp4

d:\FDownload\合并\0001.中国网络电视台-《诗词中国》 第四集 黄鹤楼与鹳雀楼[高清版].mp4

这里用到了,判断路径是否为文件夹:isDirection()。列出文件夹下目录方法:listFiles()。还有递归。

java操作文件爱女_Java的IO操作---File类相关推荐

  1. java文档表白_java基础io流——File的告白(重温经典)

    File类概述和构造方法 File类的概述 文件和目录路径名的抽象表示形式 构造方法 public File(String pathname) public File(String parent,St ...

  2. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  3. java 解除文件占用_Java如何强制删除java程序占用的文件

    在JAVA对文件的读写操作中,操作完以后将输入流和输出流及时关闭时很必要的.假如我们有时候忘记关闭了,又不知道在哪个地方去关闭,为了删除该文件,JAVA可以进行强制删除操作.可以使用如下代码进行强制删 ...

  4. Java语言高级(第四部分)File类与IO流 ->(个人学习记录笔记)

    文章目录 第六章 File类与IO流 1. File类 1.1 概述 1.2 构造方法 1.3 常用方法 获取功能的方法 绝对路径和相对路径 判断功能的方法 创建删除功能的方法 1.4 目录的遍历 2 ...

  5. 13-1 IO流 ---- File类的使用(2)常用方法

    13-1 IO流 ---- File类的使用(2)常用方法 一.File类的获取功能 public String getAbsolutePath():获取绝对路径 public String getP ...

  6. java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹

    package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...

  7. java 二进制 文件比较_Java中对文件的读写操作之比较

    Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...

  8. java fileutils 文件夹_java文件操作---FileUtils

    Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了.如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归. 下面是的一个解决方 ...

  9. java 写文件 高效_java高效文件流读写操作详解|chu

    导语 防止自己以后忘记,记录一些文件流的性能对比. 平常经常会操作到文件读写,java当中提供了许多操作文件的类,一般来说,文件操作也叫流操作,可以按照以下方式分类:按照功能分类,字节流和字符流. 按 ...

最新文章

  1. 05-04-查看补丁更新报告
  2. mysql 1115_从ADS1115 Python向MySQL插入数据
  3. mysql各种错误提示码和解决方法
  4. 【linux】内核源代码下载与阅读
  5. Eclipse 工作空间(Workspace)---Eclipse教程第07课
  6. 拉格朗日乘数法(一种寻找变量受一个或多个条件所限制的多元函数的极值的方法)
  7. GStreamer(一)
  8. javafx透明边框_JavaFX技巧6:使用透明颜色
  9. Linux思维导图之inode、mv、cp和硬软链接
  10. Google 发布其非 Linux 系操作系统 Fuchsia 说明书!
  11. 论文:GeoGebra 在线数学应用函数演示
  12. PHP 公众号文章 转 pdf,使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)...
  13. 金山Wps珠海实习杂记(一)
  14. 查看core dumped的详细错误原因
  15. 西南科技大学计算机科学与技术学院官网,何刚(西南科技大学计算机科学与技术学院副教授)_百度百科...
  16. 鸿蒙桌面系统什么时候上线,鸿蒙OS全新PC桌面模式即将上线?回顾一下手机桌面系统的发展历程...
  17. 解释机器学习中的熵、联合熵、条件熵、相对熵和交叉熵
  18. qmail邮件为什么退信_调整为QMail
  19. 首批实现QQ在RTOS端应用部署 展锐持续深耕穿戴生态
  20. 【阶段总结】研二上学期总结

热门文章

  1. 1.4- 定时任务总结之九句箴言
  2. lrzsz   linux与windows互传
  3. JAVA TCP通信练习
  4. 表达式求值及转换算法
  5. 介绍我的一位同事的开源RSS阅读器
  6. 欺诈行为识别_使用R(编程)识别欺诈性的招聘广告
  7. Linux程序实现弹框,jQuery实现弹出框 效果绝对美观
  8. gdal进行遥感影像读写_如何使用遥感影像进行矿物勘探
  9. leetcode167. 两数之和 II - 输入有序数组(二分查找)
  10. 递归javascript_JavaScript中的递归