File类是java中表示文件和目录名的抽象表示形式。File类可以实现文件的创建,删除,重命名,获取路径,创建时间等等,是唯一一个与文件本身有关的操作。所以有必要好好学习File类。
主要使用方法:
1.public File(String pathname)----根据文件路径构造File实例
2.public boolean createNewFile()throws IOException-----创建文件
3.public boolean delete()----------删除文件
4.public String getParent()----------得到文件的上一级路径
5.public boolean isDirectory()------判断是不是文件夹
6.public boolean isFile()------判断是不是文件
7.public String[]list()------------列出文件夹中的文件名
8.public File[] listFile()------------列出文件夹的所有文件实例
9.public boolean mkdir()----------创建文件夹
10.public boolean renameTo(File dest)-----文件重命名(可以理解移动文件)
11.public long length()-------返回文件大小
12.String getpath()-----------路径名字符串
示例代码:
-
package com;
-
-
import java.io.File;
-
import java.io.IOException;
-
-
public class Test {
-
-
public static void main(String[] args) {
-
-
//File.separator是跨平台的,在windows下为D:\\1.txt,linux下为D:/1.txt
-
File file=new File("D:"+File.separator+"1.txt");
-
//文件不存在
-
if(!file.exists())
-
{
-
try {
-
if(file.createNewFile())//创建文件
-
System.out.println("文件创建成功");
-
} catch (IOException e) {
-
-
e.printStackTrace();
-
}
-
}
-
//得到文件的上一级路径
-
System.out.println("上级目录:"+file.getParent());
-
//判断是否是目录
-
System.out.println("是否是目录:"+file.isDirectory());
-
//判断是否是文件
-
System.out.println("是否是文件:"+file.isFile());
-
//获取文件大小
-
System.out.println("文件大小为:"+file.length());
-
//文件路径
-
System.out.println(file.getPath());
-
-
//重命名,返回值为true时。相当于把D:\\1.txt移动到L:\\kk22.php
-
if(file.renameTo(new File("L:\\kk22.php")))
-
System.out.println("重命名成功");
-
else {
-
System.out.println("重命名失败");
-
}
-
-
//指向重命名的文件
-
file=new File("L:\\kk22.php");
-
if(file.delete())
-
System.out.println("文件删除成功");
-
-
//--------------------------------------目录演示
-
-
file=new File("L:"+File.separator+"javaTest");
-
//不存在
-
if(!file.exists())
-
{
-
file.mkdir();//创建该目录
-
}
-
//为该目录添加文件
-
String temp;
-
for(int i=0;i<4;i++)
-
{
-
temp="";
-
temp="L:"+File.separator+"javaTest"+File.separator+i+"txt";
-
File ok=new File(temp);
-
try {
-
ok.createNewFile();//创建该文件
-
} catch (IOException e) {
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
}//
-
}
-
//获取该目录下的文件名
-
String[] name=file.list();
-
for(int i=0;i<4;i++)
-
System.out.println(name[i]);
-
//获取该目录下的文件实例
-
File[] files=file.listFiles();
-
for(int i=0;i<4;i++)
-
System.out.println(files[i].getPath());
-
-
}
-
-
}
复制代码
File只能获取文件路径创建时间等信息以及文件的创建和删除,不能对文件里面的具体内容实现获取和修改。
获取和修改文件的具体内容需要用到java的IO流。之后会讲解IO相关的操作。