---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、引言
上一篇对IO流的操作进行了简单的介绍。但是系统中对文件和文件夹的一些操作是IO流是办不到的,因为流只操作数据,所以Java中提供了File类,将文件系统中的文件和文件夹封装成对象,提供了更多的属性和行为可以对这些文件和文件夹进行操作。其实这里无需多做赘述,只是将需要操作的文件或者文件夹封装成对象,然后调用Java提供的一些方法的操作而已,举几个小例子即可明白。
二、例子
//列出指定目录下文件或文件夹,包含子目录中的内容
import java.io.*;
class ShowAllFile
{
public static void main(String[] args)
{
File dir = new File("F:\\运维\\");
showFile(dir, 0);
}
public static String getLevel(int level)
{
StringBuilder sb = new StringBuilder();
for(int i = 0; i < level; i++)
{
sb.append(" ");
//System.out.println(" ");
}
return sb.toString();
}
public static void showFile(File dir, int level)
{
level++;
File[] files = dir.listFiles();
for(File file : files)
{
System.out.println(getLevel(level) + file.toString());
if(file.isDirectory())
showFile(file, level);
}
}
}
//删除带内容的目录(递归)
import java.io.*;
class DeleteDir
{
public static void main(String[] args)
{
File file = new File("E:\\Code\\nimeizide");
deleteDir(file);
}
public static void deleteDir(File dir)
{
File[] files = dir.listFiles();
for(File file : files)
{
if(file.isFile())
file.delete();
else
deleteFile(file);
}
dir.delete();
}
}
//将一个指定目录下的.java文件的绝对路径存储到指定文件中
import java.io.*;
import java.util.*;
class JavaWenJianList
{
public static void main(String[] args)throws IOException
{
//FileWriter fw = new FileWriter("E:\\Code\\JavaList.txt");
BufferedWriter bufw = new BufferedWriter(new FileWriter("E:\\Code\\JavaList.txt"));
File dir = new File("E:\\Code\\nimeizide");
List<File> list = new ArrayList<File>();
fileToList(dir, list);
for(Iterator<File> it = list.iterator(); it.hasNext(); )
{
//System.out.println(it.next().toString());
//fw.write(it.next().toString() + "\r\n");
bufw.write(it.next().getAbsolutePath());
bufw.newLine();
bufw.flush();
}
bufw.close();
}
public static void fileToList(File dir, List<File> list)
{
File[] files = dir.listFiles();
for(File file : files)
{
if(file.isDirectory())
fileToList(file, list);
else
{
if(file.toString().endsWith(".java"))
list.add(file);
}
}
}
}
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------