概述
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
1、 练习使用File类的相关方法,包括创建文件对象、删除文件、判断文件是否可执行、判断文件是否是文件、判断文件是否存在等等。
其中使用到了一个不常见的小知识点是File类的分隔符File.separator,这个分隔符可跨平台使用。
publicclass FileDemo
{
publicstaticvoid main(String[] args)throws IOException
{
//consMethod();
//method_1();
//method_2();
//method_3();
//method_4();
method_5();
}
//创建File对象
publicstaticvoid consMethod ()
{
//将a.txt封装成file对象,可以将已有的和未出现的文件或者文件夹封装成对象
File f1 = new File("c:\abc\a.txt");
File f2 = new File("c:\abc", "a.txt");
File d = new File("c:\abc");
File f3 = new File(d, "a.txt");
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
//跨平台的路径分隔符File.separator
File f4 = new File("c:" + File.separator +"abc"+File.separator+"a.txt");
System.out.println(f4);
}
publicstaticvoid method_1() throws IOException
{
//创建文件名
File f = new File("file.txt");
//调用createNewFile建立实体文件
System.out.println("create:"+f.createNewFile());
//调用delete删除实体文件
System.out.println("delete:"+f.delete());
}
publicstaticvoid method_2()
{
File f = new File("G:\file.txt");
//判断文件是否可执行
System.out.println("execute:"+f.canExecute());
//判断文件是否存在
System.out.println("execute:"+f.exists());
//创建文件夹
File f1 = new File("hello");
System.out.println("mkdir:"+f1.mkdir());
//创建多级文件夹
File f2 = new File("a\b\c");
System.out.println("mkdir:"+f2.mkdirs());
}
publicstaticvoid method_3()throws IOException
{
File f = new File("hhhh.txt");
//创建文件hhhh.txt
//f.createNewFile();
//创建文件夹hhhh.txt
f.mkdir();
//判断f是否是文件夹
System.out.println("dir:"+f.isDirectory());
//判断f是否是文件夹
System.out.println("file:"+f.isFile());
}
publicstaticvoid method_4()throws IOException
{
File f = new File("file.txt");
//获取文件的相对路径
System.out.println("path:"+f.getPath());
//获取文件的绝对路径
System.out.println("Absolutepath:"+f.getAbsolutePath());
//获取文件的父目录
//如果声明的是相对路径则返回为空
System.out.println("parent:"+f.getParent());
}
publicstaticvoid method_5()throws IOException
{
File f1 = new File("G:\JAVA test\123.html");
File f2 = new File("G:\JAVA test\456.html");
f1.renameTo(f2);
}
}
2、 练习:
练习
将一个指定目录下的java文件的绝对路径,存储到一个文本文件中
建立一个java文件列表文件
思路:
1、对指定的目的进行递归
2、获取递归过程所有的java文件的路径
3、将这些路径存储到集合中
4、将集合中的数据写入到一个文件中
publicclass JavaFileList
{
publicstaticvoid main(String[] args) throws IOException
{
//根据文件路径创建文件对象
File f = new File("E:\mySQL\测试");
//创建java文件列表父路径
File javalist = new File("G:\");
//创建java列表的文件
BufferedWriter bw = new BufferedWriter(new FileWriter("G:\javalist.txt"));
//执行
javafilelist(f,bw);
}
//将一个目录下的java文件的路径写入一个文件中
publicstaticvoid javafilelist(File dir,BufferedWriter bw) throws IOException
{
//获得目录下的所有文件及文件夹
File[] files = dir.listFiles();
//遍历这些文件及文件夹
for(File f : files)
{
//如果文件不是文件而是文件夹,那么递归
if(f.isDirectory())
javafilelist(f,bw);
else
{
//如果是文件就获得文件的名字与java的扩展名比较如
//果是java文件就将它的绝对路径写入javalist文件中
if(f.getName().endsWith(".java"))
{
//获得文件的绝对路径
String line = f.getAbsolutePath();
bw.write(line);
bw.newLine();
bw.flush();
}
//System.out.println(f.getAbsolutePath());
}
}
}
}
3、 练习:删除文件目录下的所有文件
publicclass RemoveDemo
{
publicstaticvoid main(String[] args)
{
//获得文件目录
File f = new File("G:\123");
removedir(f);
}
publicstaticvoid removedir(File dir)
{
//获得文件目录下所有文件及文件夹
File[] files = dir.listFiles();
//遍历文件数组
for(File f : files)
{
//如果是文件夹就递归执行
if(f.isDirectory())
removedir(f);
else
System.out.println(f.toString()+"::"+f.delete());
}
dir.delete();
}
}
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
最后
以上就是寂寞凉面为你收集整理的黑马程序员—File类的知识的总结及练习的全部内容,希望文章能够帮你解决黑马程序员—File类的知识的总结及练习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复