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<String> mfiles = new ArrayList<String>();/*** 得到給定路徑下的目錄或是文件* @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<String> 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读取指定路径下的文件列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android:ListView常见错位
- 下一篇: Android设置ProgressBar