项目开发的时候经常会遇到有读取文件的情况,下面简单描述直接上代码
/** * 读取某个文件夹下的所有文件 * filepath 文件夹路径 */ public static boolean readfile(String filepath) throws FileNotFoundException, IOException { try { File file = new File(filepath); if (!file.isDirectory()) { System.out.println("文件"); System.out.println("路径=" + file.getPath()); System.out.println("绝对路径=" + file.getAbsolutePath()); System.out.println("文件名=" + file.getName()); } else if (file.isDirectory()) { System.out.println("文件夹"); String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) { File readfile = new File(filepath + "\\" + filelist[i]); if (!readfile.isDirectory()) { System.out.println("路径1=" + readfile.getPath()); System.out.println("绝对路径1=" + readfile.getAbsolutePath()); System.out.println("文件名1=" + readfile.getName()); } else if (readfile.isDirectory()) { readfile(filepath + "\\" + filelist[i]); } } } } catch (FileNotFoundException e) { System.out.println("readfile() Exception:" + e.getMessage()); } return true; } public static void main(String[] args) { try { //linux readfile(File.separator+"home"); //windows readfile("C:"+File.separator+"tmp"+File.separator+"test.txt"); } catch (FileNotFoundException ex) { } catch (IOException ex) { } System.out.println("ok"); }File.separator方法是jdk提供的自动加路径标示的方法,该方法根据Windows和Unix的不同输出’\’(Windows)或者是’/’(Unix)
