Java读取文件
项目开发的时候经常会遇到有读取文件的情况,下面简单描述直接上代码
/**
* 读取某个文件夹下的所有文件
* 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)