Java在File类里定义列出系统目录的方法
深入理解,如果通过修改,可以变成恶性攻击代码,运行代码可删除系统盘重要指定文件。
package cn.dujiang.demo;
import java.io.File;
import java.sql.Date;
import java.text.SimpleDateFormat;
/**
* 列出目录下的信息:
*
*1、
* ======================================================================
* public class TestDemo { public static void main(String[] args) throws
* Exception {// 此处直接抛出 File file = new File("F:" + File.separator); if
* (file.isDirectory()) { // 现在给出一个路径 String result[] = file.list(); for (int i
* = 0; i < result.length; i++) { System.out.println(result[i]); }
*
* } } }
*解释:以上代码确实可以列出目录下的信息,但是所列出来的是目录下的子目录或文件的名字。
*
* @author Dujiang
*2、
* =====================================================================
* = 列出全部的File类对象: public class TestDemo { public static void
* main(String[] args) throws Exception {// 此处直接抛出 File file = new
* File("F:" + File.separator); if (file.isDirectory()) { // 现在给出一个路径
* File result[] = file.listFiles(); for (int i = 0; i < result.length;
* i++) { System.out.println(result[i]); }
*
* } } }
*输出结果如下:
* F:\NOTICE F:\Program Files F:\Program Files (x86)
* F:\RELEASE-NOTES F:\RUNNING.txt F:\System Volume Information F:\temp
* F:\test.text F:\Users F:\webapps F:\windows_386.zip F:\work
*3、
* ===================================================================
* 为了更好的体验出上操作的好处,下面输出一个类似资源管理器的界面。
* 代码如下:
* public class TestDemo {
public static void main(String[] args) throws Exception {// 此处直接抛出
File file = new File("F:" + File.separator);
if (file.isDirectory()) { // 现在给出一个路径
File result[] = file.listFiles();
for (int i = 0; i < result.length; i++) {
System.out.println(result[i].getName() + "\t\t"
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(result[i].lastModified()))+"\t\t"+(result[i].isDirectory()?"文件夹":"文件"+"\t\t"));
}
}
}
}
*/
public class TestDemo {
public static void main(String[] args) throws Exception {// 此处直接抛出
File file = new File("F:" + File.separator);
if (file.isDirectory()) { // 现在给出一个路径
File result[] = file.listFiles();
for (int i = 0; i < result.length; i++) {
System.out.println(result[i].getName() + "\t\t"
+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(result[i].lastModified()))+"\t\t"+(result[i].isDirectory()?"文件夹":"文件"+"\t\t"));
}
}
}
}