java读取文件指定位置_Java读取指定路径下的文件列表
直接貼代碼吧。不過這里要做一個簡單的說明,對于這個程序,我們必須保證我們在F盤下有一個log_files的文件夾,因為在后面寫入文件的時候,如果路徑中的文件不存在,是程序可以自動為其添加,但如果沒有了這個路徑,則程序會報找不到文件路徑的異常。你可以對這個異常進行人性的處理,還可以在程序要向這個路徑寫入數據之前,創建出這個路徑。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;
public class ListRoots {
private static final String LOG_BASE_PATH = "F:\\log_files\\";
private static ArrayList mfiles = new ArrayList();
/**
* 得到給定路徑下的目錄或是文件
* @param strPath
* @throws Exception
*/
private static void displayDirsOrFiles(String strPath) throws Exception {
try {
File f = new File(strPath);
if (f.isDirectory()) {
File[] fList = f.listFiles();
for (int j = 0; j < fList.length; j++) {
if (fList[j].isDirectory()) {
System.out.println("Directory is: "+ fList[j].getPath());
displayDirsOrFiles(fList[j].getPath()); // 對當前目錄下仍是目錄的路徑進行遍歷
}
}
for (int j = 0; j < fList.length; j++) {
if (fList[j].isFile()) {
String name = fList[j].getPath().toString();
System.out.println("Filename is: " + name);
mfiles.add(fList[j].getPath());
}
}
}
} catch (Exception e) {
System.err.println("Error: " + e);
}
}
/**
* 向文件中寫入數據
* @param dirOrfiles
* @throws IOException
*/
private static void writeDetailToFiles(ArrayList dirOrfiles) throws IOException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");
toFiles(getLogPath(), format.format(new Date()) + " -- 檢測到文件" + dirOrfiles.size() + "個:" + "\r\n");
for (String file : dirOrfiles) {
toFiles(getLogPath(), file + "\r\n");
}
toFiles(getLogPath(), "--------------------------------------------------------------------------------------------------------------------------\r\n");
}
/**
* 獲得寫入數據的路徑
* @return
*/
private static String getLogPath() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return LOG_BASE_PATH + format.format(new Date()) + ".txt";
}
/**
* 向dir路徑下寫入數據data
* @param path
* @param data
*/
private static void toFiles(String path, String data) throws IOException {
File file = new File(path);
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file, true);
fw.write(data);
fw.flush();
fw.close();
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請輸入待遍歷目錄路徑(Format: F:\\a\\b):");
String strPath = input.nextLine();
try {
displayDirsOrFiles(strPath.replace("\\", "\\\\"));
writeDetailToFiles(mfiles);
} catch (Exception e) {
e.printStackTrace();
}
}
}
源代碼下載連接
總結
以上是生活随笔為你收集整理的java读取文件指定位置_Java读取指定路径下的文件列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 登录 https_java –
- 下一篇: Java 序列化总结.md