您的位置:首页 > 编程语言 > Java开发

【Java菜鸟 04】Java中的File类详解

2016-08-23 22:12 561 查看
Java.io.File类主要是完成了文件夹管理的命名、查询文件属性和处理目录等操作,它不进行文件夹内容的读取操作。

1、构造函数:

File file = new File(inputPath); //inputPath为创建的file对象的路径信息

public class FileDemo {
public static void main(String[] args){
//构造函数File(String pathname)
File file1 =new File("c:\\abc\\1.txt");
//File(String parent,String child)
File file2 =new File("c:\\abc","2.txt");
//File(File parent,String child)
File file3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
File file4 =new File(f3,"3.txt");
System.out.println(f1);//c:\abc\1.txt

}
}


2、创建、删除方法:

boolean createNewFile():不存在返回true 存在返回false

boolean mkdir():创建目录

boolean mkdirs():创建多级目录

boolean delete():直接删除文件

boolean deleteOnExit():文件使用完成后删除

import java.io.File;
import java.io.IOException;
public class FileDemo2 {
public static void main(String[] args){
File f =new File("d:\\1.txt");
try {
System.out.println(f.createNewFile());//当文件存在时返回false
System.out.println(f.delete());//当文件不存在时返回false
} catch (IOException e) {
e.printStackTrace();
}
}
}


3、判断方法:

boolean canExecute()判断文件是否可执行

boolean canRead()判断文件是否可读

boolean canWrite() 判断文件是否可写

boolean exists() 判断文件是否存在

boolean isDirectory() 判断文件是否是目录

boolean isFile() 判断是否是文件

boolean isHidden() 判断文件是否隐藏

boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断

4、获取方法:

String getName() 获取文件名

String getPath() 获取文件路径

String getAbsolutePath() 获取文件绝对路径

String getParent() 如果没有父目录返回null

long lastModified() 获取最后一次修改的时间

long length() 获取文件长度

boolean renameTo(File f) 重命名

File[] liseRoots() 获取机器盘符

String[] list()

String[] list(FilenameFilter filter)

5、列出磁盘下的文件和文件夹:

package org.algorithm;

import java.io.File;

public class getFileList {

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);
}
}
}
}
}


Output:

C:\
$360Section
$Recycle.Bin
292.txt
360SANDBOX
AMD
Boot
bootmgr
BOOTNXT
Crawler
data
Documents and Settings
DRMsoft
EFI
hcluster-0.2.0-cp27-none-win_amd64.whl
hiberfil.sys
hsrv.txt
inetpub
iNodeLog
Intel
listpconline.txt
LoalaSave
Malizhen_s.dll
MinGW
n382738784.html
n465189805.shtml
OneDriveTemp
pconlinemobile.html
pconlinemobile.txt
PerfLogs
phantomjs-2.1.1-windows
Program Files
Program Files (x86)
ProgramData
Python27
Recovery
scipy-0.18.0
scipy-0.18.0-cp27-cp27m-win_amd64
scipy-0.18.0-cp27-cp27m-win_amd64.whl
scipy-0.18.0-cp35-cp35m-win_amd64.whl
scipy-0.18.0.tar.gz
swapfile.sys
System Volume Information
tmp
Users
Windows
xampp
E:\
$RECYCLE.BIN
1.txt
1.xml
22.txt
22.xml
23.txt
23.xml
24.xml
25.txt
25.xml
26.txt
26.xml
27.xml
28.xml
30.txt
30.xml
360Downloads
360WiFi
5a43d7c5970c8a76fddcee
AI_RecycleBin
all.txt
all.xml
BaiduYunDownload
bbtToolBackUp
BeautifulOfProgramming
C++
coursera
CPU
data.xml
defrag.dat
down.txt
down.xml
Eclipse
Eclipse workspace
edu.txt
edu.xml
faf40a81bee93e8300a53a84c0d97bd0
FileZilla_Server_v0.9.53.0_setup.1435823314.exe
index
index.txt
input.txt
Java
jdk-7u80-windows-x64.exe
kankan
KuGou
KwDownload
log.log
log1.log
LuceneData
LuceneIndex
MyDownloads
mysql
Navicat for MySQL
output.xml
pagefile.sys
parserone
Python
q.txt
q.xml
qq.txt
qq.xml
Repositories
shnu.txt
shnu.xml
sina.txt
sina.xml
Soft
SQL
System Volume Information
test.txt
test.xml
TortoiseSVN
TortoiseSVNwc
txt_doc
urllist.txt
VM OS
WebCrawlerPython
WeChatCrawler
windows2008_setup
windows2008_setup.zip
windows2012
xyz.txt
xyz.xml
YunFTP site
yygamestore
F:\
$RECYCLE.BIN
AI_RecycleBin
BaiduYunDownload
C++
config.ini
Config.Msi
Date Struct
defrag.dat
E-Learning Samples
eclipse-SDK-4.2.1-win32-x86_64
FileRecv
InstallConfig.ini
Introduce to Algrithms
IT168
kugou
log_network.txt
MachineLearning
matlabr2015a_64crack_downcc.zip
MSOCache
mysql-5.6.24-win32.1432006610.zip
Program Files
Program Files (x86)
root
Solr
System Volume Information
UltraEdit-64
webcollector-2.12-bin
WebCollector-master
G:\
$RECYCLE.BIN
ACM
AI_RecycleBin
BaiduYunDownload
Computer Science Books
Computer Science Papper
E
English Steps Books
eula.1028.txt
eula.1031.txt
eula.1033.txt
eula.1036.txt
eula.1040.txt
eula.1041.txt
eula.1042.txt
eula.2052.txt
eula.3082.txt
globdata.ini
IEEE
install.exe
install.ini
install.res.1028.dll
install.res.1031.dll
install.res.1033.dll
install.res.1036.dll
install.res.1040.dll
install.res.1041.dll
install.res.1042.dll
install.res.2052.dll
install.res.3082.dll
Java
kankan
linux share
linux1 OS
linux2 OS
linux3 OS
MachineLearning
matlabr2015a_64crack_downcc
MyDrivers
plan
programmer
Python
root
soft
System Volume Information
task
Tunder Download
vcredist.bmp
VC_RED.cab
VC_RED.MSI
H:\


6、文件过滤:

package org.algorithm;

import java.io.File;
import java.io.FilenameFilter;

public class getFileListFilter {

//文件过滤
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(){
public boolean accept(File file,String filename){//file过滤目录,filename为文件名
return filename.endsWith(".txt");
}
});
for(String filename:filenames){
System.out.println(filename);
}
}
}
}
}


Output:

C:\
292.txt
hsrv.txt
listpconline.txt
pconlinemobile.txt
E:\
1.txt
22.txt
23.txt
25.txt
26.txt
30.txt
all.txt
down.txt
edu.txt
index.txt
input.txt
q.txt
qq.txt
shnu.txt
sina.txt
test.txt
urllist.txt
xyz.txt
F:\
log_network.txt
G:\
eula.1028.txt
eula.1031.txt
eula.1033.txt
eula.1036.txt
eula.1040.txt
eula.1041.txt
eula.1042.txt
eula.2052.txt
eula.3082.txt
H:\


7、利用递归列出全部文件:

public class FileDemo5 {
public static void main(String[] args){
File f =new File("e:\\music");
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);
}
}
}


8、移动文件:

找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad

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"));
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐