---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
本篇演示File类的使用
示例一:File类的基本使用
import java.io.*;
class FileDemo
{
public static void main(String[] args) throws IOException
{
sop("----------------------------------------------------------");
File dir = new File("d:\\java_demo\\a");
newDir(dir);
sop("----------------------------------------------------------");
File f1 = new File("a\\a.txt");
File f2 = new File("d:\\java_demo\\a","b.txt");
File d = new File("d:\\java_demo\\a");
File f3 = new File(d,"c.txt");
File f4 = new File("d:"+File.separator+"java_demo"+File.separator+"a"+File.separator+"d.txt");
newFile(f1);
newFile(f2);
newFile(f3);
newFile(f4);
sop("----------------------------------------------------------");
sop(f1+" path:"+f1.getPath());
sop(f1+" abspath:"+f1.getAbsolutePath());
}
//创建文件
public static void newFile(File f)throws IOException
{
if (!f.exists())
{
sop(f+" 不存在");
if (f.createNewFile())
sop(f+" 创建成功");
else
sop(f+" 创建失败");
}
else sop(f+" 存在");
}
//创建文件夹
public static void newDir(File dir)
{
if (!dir.exists())
{
sop(dir+" 文件夹不存在");
if (dir.mkdirs())
sop(dir+" 文件夹创建成功");
else
sop(dir+" 文件夹创建失败");
}
else sop(dir+" 文件夹存在");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
运行前没有a目录以及文件
连续运行两次后
示例二:将一个指定目录下的txt文件的绝对路径,存储到一个文本文件中。
建立一个java文件列表文件。
思路:
1,对指定的目录进行递归。
2,获取递归过程所以的java文件的路径。
3,将这些路径存储到集合中。
4,将集合中的数据写入到一个文件中。
import java.io.*;
import java.util.*;
class JavaFileList
{
public static void main(String[] args) throws IOException
{
File dir = new File("d:\\java_demo\\a");
List<File> list = new ArrayList<File>();
fileToList(dir,list);
File file = new File(dir,"list.txt");
writeToFile(list,file.toString());
}
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.getName().endsWith(".txt"))
list.add(file);
}
}
}
public static void writeToFile(List<File> list,String javaListFile)throws IOException
{
BufferedWriter bufw = null;
try
{
bufw = new BufferedWriter(new FileWriter(javaListFile));
for(File f : list)
{
String path = f.getAbsolutePath();
bufw.write(path);
bufw.newLine();
bufw.flush();
}
}
catch (IOException e)
{
throw e;
}
finally
{
try
{
if(bufw!=null)
bufw.close();
}
catch (IOException e)
{
throw e;
}
}
}
}
运行后
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------