import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
public class testFile {
public static void main(String[] args) {
//調(diào)用方法(對(duì)文件的操作)
operateFile("F:/test/test1/test.txt");
// System.out.println(time);
}
public static void operateFile(String strPath) {
try {
File file = new File(strPath);
//判斷文件是否存在
if (file.exists()) {
System.out.println("exit " + file.getPath());
} else {
System.out.println("不存在");
}
//判斷是否為目錄
if (file.isDirectory()) {
System.out.println("首次判斷,該文件是目錄且存在!" + file.getPath());
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++) {
if (fileList[i].isDirectory()) {
System.out.println("子目錄名:" + fileList[i].getName());
System.out.print("子目錄" + i + ":");
operateFile(fileList[i].getPath());
} /*else if (fileList[i].isFile()) {
System.out.println("目錄下該文件是文件且存在!" + file.getName());
} else {
// 不存在,創(chuàng)建文件
//FileOutputStream fos = new FileOutputStream(strPath,true);
// System.out.println("文件創(chuàng)建成功!");
//System.out.println("全路徑:"+file.getAbsolutePath());
//System.out.println("文件不存在:"+fileList[i].getName());
}*/
}
//判斷是否為文件
} else if (file.isFile()) {
System.out.println("首次判斷,該文件是文件且存在!" + file.getName());
//追加文件內(nèi)容,每次追加一條,
/*BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath(),true));
bw.write("序號(hào)1|姓名|金額|備注1|備注2|");
bw.newLine();
bw.flush();
bw.close();
System.out.println("追加內(nèi)容成功");*/
//讀文件內(nèi)容
/*int num = 0;
BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
String str = null;
while( (str=br.readLine()) != null ){
System.out.println(str);
num++;
}
System.out.println("讀取文件總行數(shù):"+num);*/
//修改文件內(nèi)容(可以先刪除,在增加)
//刪除一行內(nèi)容(java本身沒(méi)有刪除的方法,本方法通過(guò)先讀取文件的內(nèi)容(需刪除的行數(shù)除外),放到list中,在重新寫(xiě)入)
/*int line = 2;
int num = 0;
BufferedReader br = new BufferedReader(new FileReader(file.getAbsolutePath()));
String str = null;
List list = new ArrayList();
while( (str=br.readLine()) != null ){
++num;
System.out.println(num+"行:"+str);
if( num == line )
continue;
list.add(str);
}
System.out.println("list size:"+list.size());
BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsolutePath()));
for( int i=0;i<list.size();i++ ){
System.out.println("list["+i+"]"+list.get(i));
bw.write(list.get(i).toString());
bw.newLine();
}
bw.flush();
bw.close();
System.out.println("刪除成功");*/
//刪除文件
//file.delete();
//System.out.println("文件刪除成功!");
} else {
//當(dāng)文件不存在時(shí),新建
System.out.println("該文件不存在");
String name = file.getName();
System.out.println("name:" + name);
if (name.trim().toLowerCase().endsWith(".txt")) {
System.out.println(".txt文件");
// 不存在,創(chuàng)建文件 (先創(chuàng)建目錄, file.mkdirs();)
//System.out.println("父路徑:"+file.getParent());
//按照父路徑 創(chuàng)建目錄,然后在該目錄下創(chuàng)建文件
File file1 = new File(file.getParent());
file1.mkdirs();
//System.out.println("根據(jù)父目錄創(chuàng)建目錄成功!");
//創(chuàng)建文件
FileOutputStream fos = new FileOutputStream(strPath,
true);
System.out.println("文件創(chuàng)建成功!");
}else{
System.out.println("非.txt文件");
//創(chuàng)建多級(jí)目錄(根據(jù)參數(shù)的路徑格式)
file.mkdirs();
}
}
}catch(FileNotFoundException e) {
System.out.println("找不到指定文件");
System.exit(-1);
}catch (Exception e1) {
System.out.println("error:" + e1);
}
}
}