java操作文件爱女_Java的IO操作---File类
目标
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类相关推荐
- java文档表白_java基础io流——File的告白(重温经典)
File类概述和构造方法 File类的概述 文件和目录路径名的抽象表示形式 构造方法 public File(String pathname) public File(String parent,St ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- java 解除文件占用_Java如何强制删除java程序占用的文件
在JAVA对文件的读写操作中,操作完以后将输入流和输出流及时关闭时很必要的.假如我们有时候忘记关闭了,又不知道在哪个地方去关闭,为了删除该文件,JAVA可以进行强制删除操作.可以使用如下代码进行强制删 ...
- Java语言高级(第四部分)File类与IO流 ->(个人学习记录笔记)
文章目录 第六章 File类与IO流 1. File类 1.1 概述 1.2 构造方法 1.3 常用方法 获取功能的方法 绝对路径和相对路径 判断功能的方法 创建删除功能的方法 1.4 目录的遍历 2 ...
- 13-1 IO流 ---- File类的使用(2)常用方法
13-1 IO流 ---- File类的使用(2)常用方法 一.File类的获取功能 public String getAbsolutePath():获取绝对路径 public String getP ...
- java io 创建文件夹_Java中Io流操作-File类的常用操作-创建文件,创建文件夹
package com.hxzy.IOSer; import java.io.File; import java.io.IOException; public class Demo03 { publi ...
- java 二进制 文件比较_Java中对文件的读写操作之比较
Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...
- java fileutils 文件夹_java文件操作---FileUtils
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了.如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归. 下面是的一个解决方 ...
- java 写文件 高效_java高效文件流读写操作详解|chu
导语 防止自己以后忘记,记录一些文件流的性能对比. 平常经常会操作到文件读写,java当中提供了许多操作文件的类,一般来说,文件操作也叫流操作,可以按照以下方式分类:按照功能分类,字节流和字符流. 按 ...
最新文章
- 05-04-查看补丁更新报告
- mysql 1115_从ADS1115 Python向MySQL插入数据
- mysql各种错误提示码和解决方法
- 【linux】内核源代码下载与阅读
- Eclipse 工作空间(Workspace)---Eclipse教程第07课
- 拉格朗日乘数法(一种寻找变量受一个或多个条件所限制的多元函数的极值的方法)
- GStreamer(一)
- javafx透明边框_JavaFX技巧6:使用透明颜色
- Linux思维导图之inode、mv、cp和硬软链接
- Google 发布其非 Linux 系操作系统 Fuchsia 说明书!
- 论文:GeoGebra 在线数学应用函数演示
- PHP 公众号文章 转 pdf,使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)...
- 金山Wps珠海实习杂记(一)
- 查看core dumped的详细错误原因
- 西南科技大学计算机科学与技术学院官网,何刚(西南科技大学计算机科学与技术学院副教授)_百度百科...
- 鸿蒙桌面系统什么时候上线,鸿蒙OS全新PC桌面模式即将上线?回顾一下手机桌面系统的发展历程...
- 解释机器学习中的熵、联合熵、条件熵、相对熵和交叉熵
- qmail邮件为什么退信_调整为QMail
- 首批实现QQ在RTOS端应用部署 展锐持续深耕穿戴生态
- 【阶段总结】研二上学期总结