date: 2017-05-25 13:29:48
學而不思則罔,思而不學則殆。
java本地文件操作
一、File類簡介
二、文件的創(chuàng)建、刪除、重命名
三、文件夾的創(chuàng)建、重命名、刪除
四、文件屬性的讀取
五、文件屬性的設(shè)置
六、遍歷文件夾
七、文件的簡單讀寫
一、File類的簡介
package file;
import java.io.File;
public class HelloFile {
public static void main(String[] args) {
//創(chuàng)建文件對象
File file = new File("hello.txt");
//判斷文件 ,返回布爾
file.isFile();
System.out.println(file.isFile());
//路徑(文件夾)
file.isDirectory();
System.out.println(file.isDirectory());
}
}
運行結(jié)果:
false
false
二、文件的創(chuàng)建、刪除、重命名
public class HelloFile {
public static void main(String[] args) {
//創(chuàng)建文件對象
File file = new File("hello.txt");
//hello.txt會存在于當前目錄
//相對路徑格式:xxx//hello.txt
//絕對路徑格式:D://AAA//BBB//hello.txt
//"../hello.txt" 表示上一級文件結(jié)構(gòu)
//是否存在
if(file.exists()){
//文件
System.out.println(file.isFile());
//路徑(文件夾)
System.out.println(file.isDirectory());
//重命名
//文件結(jié)構(gòu)必須處于同一個分區(qū)
//文件處于不同的分區(qū),需要使用文件的拷貝,而不是重命名
// File nameto = new File("src/new Hello.txt");
// file.renameTo(nameto);
//文件刪除
// file.delete();
// System.out.println("文件刪除成功");
}else {
System.out.println("文件不存在");
//創(chuàng)建文件
try {
file.createNewFile();
System.out.println("文件已經(jīng)成功創(chuàng)建");
} catch (IOException e) {
System.out.println("文件無法創(chuàng)建");
}
}
}
}
三、文件夾的創(chuàng)建、重命名、刪除
//文件夾的創(chuàng)建、重命名、刪除
public class HelloFile {
public static void main(String[] args) {
//文件夾的創(chuàng)建
File folder = new File("my new folder");
folder.mkdir();
System.out.println("文件夾創(chuàng)建完成");
//關(guān)于folder.mkdir(),返回一個布爾類型
if(folder.mkdir()){
System.out.println("文件夾創(chuàng)建完成");
}else{
if(folder.exists()){
System.out.println("文件夾已經(jīng)存在不用創(chuàng)建了");
}else{
System.out.println("文件夾創(chuàng)建失敗");
}
}
//文件夾的重命名
File folder = new File("my new folder");
File newfolder = new File("my new folder-new");
if(folder.renameTo(newfolder)){//返回值布爾類型
System.out.println("done");
}else{
System.out.println("fail");
}
//文件夾的刪除
File folder = new File("my new folder/two");
folder.delete();//返回值布爾類型
//被刪除的文件夾必須為空才會刪除成功
if(folder.delete()){
System.out.println("done");
}else{
System.out.println("fail");
}
}
}
四、文件屬性的讀取
public class HelloFile {
public static void main(String[] args) {
//文件屬性的讀取
File file = new File("text.txt");
//判斷文件是否存在
System.out.println("判斷文件是否存在"+file.exists());
//讀取文件名稱
System.out.println("讀取文件名稱"+file.getName());
//讀取文件路徑
System.out.println("讀取文件路徑"+file.getPath());
//讀取文件絕對路徑
System.out.println("讀取文件絕對路徑"+file.getAbsolutePath());
//獲取文件父級路徑
System.out.println("獲取文件父級路徑"+new File(file.getAbsolutePath()).getParent());
//讀取文件大小
System.out.println("讀取文件大小"+file.length()+"byte");//字節(jié)
System.out.println("讀取文件大小"+(float)file.length()/1000+"KB");
//判斷文件是否被隱藏
System.out.println("判斷文件是否被隱藏"+file.isHidden());
//判斷文件是否可讀
System.out.println("判斷文件是否可讀"+file.canRead());
//判斷文件是否可寫
System.out.println("判斷文件是否可寫"+file.canWrite());
//判斷文件是否為文件夾
System.out.println("判斷文件是否為文件夾"+file.isDirectory());
}
五、文件屬性的設(shè)置
public class HelloFile {
public static void main(String[] args) {
//文件屬性的設(shè)置
File file = new File("text.txt");
if (file.exists()){
//將文件設(shè)定為可寫
file.setWritable(true);
file.setWritable(false);
//將文件設(shè)定為可讀
file.setReadable(false);
file.setReadable(true);
//將文件設(shè)定為只讀
file.setReadOnly();
}
六、遍歷文件夾
//遍歷文件夾
public static void printFiles(File dir){
printFiles(new File("絕對路徑"));
if (dir.isDirectory()) {
File next[] = dir.listFiles();//listFiles()返回一個數(shù)組
for(int i= 0;i<next.length;i++){
System.out.println(next[i].getName());
if(next[i].isDirectory()){
printFiles(next[i]);
}
}
}
}
七、文件的簡單讀寫
package file;
import java.io.File;
import java.io.IOException;
public class HelloFile {
public static void main(String[] args) {
File file = new File("test.txt");
if(file.exists()){
System.err.println("exist");
try{
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
BufferedReader br = new InputStreamReader(isr);
String line;
while(line = br.readLine() != NUll){
System.out.println(line);
}
br.close();
isr.close();
fis.close();
}catch (FileNotFoundException e) {
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}catch (Exception e) {
}
}
}