10.1.2File类的应用
例10-1 判断f:\dir下是否包含file1.txt文件,如果包含,则创建该文件。在创建文件之前需要在fp盘下创建一个dir的文件夹,否则,会出现找不到路径的错误代码如下:
import java.io.File;
import java.io.IOException;
public class CreateFileDemo {
public static void main(String []args){
File f=new File("f:/dir/file.txt");//创建文件对象
if(!f.exists()){//判断问价是否存在
try{
f.createNewFile();//创建文件
}catch(IOException e){
e.printStackTrace();
}
}
else {
System.out.println("该文件存在!");
}
}
}
执行上面的语句,即可完成题目中的要求,如果文件不存在,则会提示"该文件存在"
说明:在Windows操作系统中,文件路径使用“/”或者“\”符号作为路径的分隔符,即“f:/a”与“f:\a”都可以,但是在linux操作系统使用”/“符号
例10-1基础上,判断file.txt是否可读写,可写,并将该文件删除。实现代码如下:
import java.io.File;
import java.io.IOException;
public class CreateFileDemo {
public static void main(String [] args){
File f=new File("f:/dir/file.txt");//创建文件对象
if(f.canRead()){//判断文件是否可读
System.out.println("该文件是可读的!");
}
else{
System.out.println("该文件是不可读的!");
}
if(f.canWrite()){//判断文件是否可写
System.out.println("该文件是可写的!");
}
else{
System.out.println("该文件是不可写的!");
}
if(f.delete()){//删除文件
System.out.println("文件删除成功!");
}
}
}
--输出结果是:
该文件是可读的!
该文件是可写的!
文件删除成功!
--注释
从执行结果来看,文件已经被删除
这里需要注意是判断文件可读可写以及删除我那件的方法不会因为文件不存在而出现错误,因此在使用这些方法前,要判断文件是否存在,以免发生不必要的错误
例10-3
在f:路径下创建文件夹,dir,并在该文件下分别创建file1.txt,和file2.txt,代码如下:
import java.io.File;
import java.io.IOException;
public class CreateFileDemo {
public static void main(String[] args){
File f=new File("f:/dir");//创建文件对象
if(f.mkdir()){//创建目录
try{
f=new File("f:/dir/file1.txt");
f.createNewFile();//创建file1.txt文件
f=new File("f:/dir/file1.doc");
f.createNewFile();//创建file2.txt文件
}catch(IOException e){
e.printStackTrace();
}
}
}
}
输出结果是:
---解释:
这个实例中,前提条件是文件目录和文件都不存在,需要分别判断文件目录和文件是否存在
例10-4
在f:\dir文件下,查看例10-3创建的文件,实现代码如下:
import java.io.File;
import java.io.IOException;
public class CreateFileDemo {
//查看创建的文件
public static void main(String []args){
File f=new File("f:/dir");//创建文件对象
File[]fs=f.listFiles();//获取制定目录中的文件
for(File f1:fs){
System.out.println(f1.getName());//输出文件名
}
}
}
--输出结果
file1.doc
file1.txt