Java读取指定路径下的文件列表
2014-09-21 16:11
417 查看
直接贴代码吧。不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在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读取指定路径下的文件列表
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- 读取指定路径的文件及子文件夹列表
- Java—读取指定路径下文件的内容
- java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- java程序读取资源文件时路径如何指定
- java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题
- symbian 获取指定路径下的文件夹和文件列表
- Java按指定行数读取文件
- Java按指定行数读取文件
- [ASP] 使用asp读取指定文件夹的文件列表(返回xml)
- Java或者JAR包获取读取资源文件的路径的问题总结
- Java使用相对路径读取文件
- Java相对路径读取文件
- java读取文件路径
- java读取相对路径文件
- java 使用相对路径读取文件
- JAVA读取配置文件路径
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写