Java File类的功能非常强大,利用java基本上可以对文件进行所有操作。文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍。
构造函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public
class
FileDemo {
public
static
void
main(String[] args) {
//构造函数File(String pathname)
File f1 =
new
File(
"D:\\a\\1.txt"
);
//File(String parent,String child)
File f2 =
new
File(
"D:\\a"
,
"2.txt"
);
//File(File parent,String child)
File f3 =
new
File(
"D:"
+File.separator+
"a"
);
File f4 =
new
File(f3,
"3.txt"
);
System.out.println(f1);
}
}
|
创建方法
1
2
3
4
5
|
1
boolean
createNewFile() 不存在就返回
true
;存在返回
false
2
boolean
mkdir() 创建目录
3
boolean
mkdirs() 创建多级目录
|
删除方法
1 boolean delete()
2 boolean deleteOnExit()文件使用后删除
1
2
3
4
5
6
7
8
9
10
11
12
|
public
class
FileDemo {
public
static
void
main(String[] args) {
File f =
new
File(
"D:\\1.txt"
);
try
{
System.out.println(f.createNewFile());
System.out.println(f.delete());
}
catch
(IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
|
判断方法
1 boolean canExecute() 判断文件是否可以执行
2 boolean canRead() 判断文件是否可读
3 boolean canWrite() 判断文件是否可写
4 boolean exist() 判断文件是否存在
5 boolean isDirectory() 判断文件是目录
6 boolean isFile() 判断是否是文件
7 boolean canHidden() 判断文件是否可见
8 boolean isAbsolute() 判断文件是否是绝对路劲 ,文件不存在也能判断
获取方法
1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果没有父目录返回null
5.long lastModified()//获取最后一次修改的时间
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//获取机器盘符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁盘下的文件和文件夹
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public
class
FileDemo3 {
public
static
void
main(String[] args){
File[] files =File.listRoots();
for
(File file:files){
System.out.println(file);
if
(file.length()>
0
){
String[] filenames =file.list();
for
(String filename:filenames){
System.out.println(filename);
}
}
}
}
}
|
文件过滤
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public
class
FileDemo4 {
public
static
void
main(String[] args){
File[] files =File.listRoots();
for
(File file:files){
System.out.println(file);
if
(file.length()>
0
){
String[] filenames =file.list(
new
FilenameFilter(){
//file 过滤目录 name 文件名
public
boolean
accept(File file,String filename){
return
filename.endsWith(
".mp3"
);
}
});
for
(String filename:filenames){
System.out.println(filename);
}
}
}
}
}
|
利用递归列出所有文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
class
FileDemo5 {
public
static
void
main(String[] args){
File f =
new
File(
"e:\\音樂"
);
showDir(f);
}
public
static
void
showDir(File dir){
System.out.println(dir);
File[] files =dir.listFiles();
for
(File file:files){
if
(file.isDirectory())
showDir(file);
else
System.out.println(file);
}
}
}
|
移动文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public
class
Test5 {
public
static
void
main(String[] args){
File f1 =
new
File(
"d:\\"
);
moveFile(f1);
}
public
static
void
moveFile(File dir){
File[] files=dir.listFiles();
for
(File file:files){
if
(file.isDirectory())
moveFile(file);
else
{
if
(file.getName().endsWith(
".java"
))
file.renameTo(
new
File(
"c:\\jad\\"
+
file.getName().substring(
0
,file.getName().lastIndexOf(
'.'
))+
".jad"
));
}
}
}
}
|