轉:http://www.cnblogs.com/lich/archive/2011/12/10/2283445.html
在整個IO包了,唯一表示與文件本身有關的類就是File類。使用File類可以進行1創建或刪除文件等常用操作。要想使用File類。則首先要觀察File類的構造方法,此類的常用構造方法如下所示:
public File(String pathname) 實例化File類的時候,必須設置好路徑
No. |
方法或常量 |
類型 |
描述 |
1 |
public static final String pathSeparator |
常量 |
表示路徑的分隔符(windows是“;”) |
2 |
public static final String separator |
常量 |
表示路徑的分隔符(windows是“\”) |
3 |
public File(String pathname) |
構造 |
創建File類對象,傳入完整路徑 |
4 |
public boolean createNewFile()throws IOException |
普通 |
創建新文件 |
5 |
public boolean delete() |
普通 |
刪除文件 |
6 |
public boolean exists() |
普通 |
判斷文件是否存在 |
7 |
public boolean isDirectory() |
普通 |
判斷給定的路徑是否在一個目錄 |
8 |
public long length() |
普通 |
返回文件的大小 |
9 |
public String[] list() |
普通 |
列出指定目錄的全部內容,只是名稱 |
10 |
public File[] listFiles() |
普通 |
列出指定目錄的全部內容,會有路徑 |
11 |
Public Boolean mkdir() |
普通 |
創建一個目錄 |
12 |
Public Boolean renameTo(File dest) |
普通 |
爲已有的文件重命名 |
實例操作一:創建一個新文件
在D盤創建一個test.txt文件
import java.io.File;
import java.io.IOException;
public class Test1 {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"test.txt");//爲增加可移植性,建議使用File.separator
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
實例操作二:刪除一個指定文件
刪除剛剛創建的test.txt文件
import java.io.File;
public class Test2 {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"test.txt");
if(f.exists()){//判斷文件存不存在,如不存在就不用刪除了
f.delete();
}
}
}
實例操作三:綜合創建,刪除文件的操作
給定一個路徑,如果此文件存在,則刪除,如果不存在,則創建
import java.io.File;
import java.io.IOException;
public class Test3 {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"test.txt");
if(f.exists()){
f.delete();
}else{
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
實例操作四:創建一個文件夾
使用mkdir()方法創建一個文件夾
mkdir()創建此抽象路徑名稱指定的目錄(及只能創建一級的目錄,且需要存在父目錄)
mkdirs()創建此抽象路徑指定的目錄,包括所有必須但不存在的父目錄。(及可以創建多級目錄,無論是否存在父目錄)
import java.io.File;
public class Test4 {
public static void main(String[] args) {
File f=new File("d:"+File.separator+"test");
f.mkdir();//創建文件夾
}
}
實例操作五:列出指定目錄的全部文件
如果現在給出了一個目錄,則可以直接列出目錄中的內容。但是列出的方法在File類中存在兩個:
- 以字符串數組的形式返回:public String[] list()
- 以File數組的形式返回:public File[] listFiles()
操作一:使用list()列出全部內容
import java.io.File;
public class Test5 {
public static void main(String[] args) {
File f=new File("d:"+File.separator);
String[] str=f.list();
for(String s:str){
System.out.println(s);
}
}
}
以上列出了全部的名字,包括文件夾得名字和文件的名字。
操作二:使用listFiles()列出
import java.io.File;
public class Test6 {
public static void main(String[] args) {
File f=new File("d:"+File.separator);
File[] files=f.listFiles();
for(File file:files){
System.out.println(file);
}
}
}
以上列出了完全路徑。
實例操作六:判斷一個給定的路徑是否目錄
給定路徑,判斷是否是目錄
import java.io.File;
public class Test7 {
public static void main(String[] args) {
File f=new File("d:"+File.separator);
if(f.isDirectory()){
System.out.println(f.getPath()+"是目錄");
}else{
System.out.println(f.getPath()+"不是目錄");
}
}
}
實例操作七:列出指定目錄的全部內容
如果給定了一個目錄,則要求把此目錄中的全部文件都列出來,包括子文件夾下的文件
import java.io.File;
public class Test8 {
public static void main(String[] args) {
File f = new File("d:" + File.separator);
print(f);
}
public static void print(File f) {
if (f != null) {
if (f.isDirectory()) {
File[] files = f.listFiles();
if (files != null) {
for (File file : files) {
print(file);
}
}
} else {
System.out.println(f);
}
}
}
}
總結:
- File類是在java.io包中唯一與文件本身有關的
- 可以使用File類創建、刪除等常見的文件操作
- 在使用File類指定路徑的時候一定要注意操作系統間的差異,儘量使用separator進行分割