------- android培训、java培训、期待与您交流! ----------
File类常见方法:
1.创建,
boolean createNewFile():在指定位置创建文件, 如果该文件已经存在,则不创建,返回false,和输出流不一样,输出流对象一建立就创建文件.而且文件已经存在,则会直接覆
盖.
boolean mkdir():创建文件夹
boolean mkdirs():创建多级文件夹
2.删除
boolean delete();删除失败返回false.
void deleteOnExit();在程序退出时删除指定文件
3.判断,
boolean exists():判断文件是否存在
isFile();是否是文件
isDirectory():是否是目录
isHidden();
isAbsolute();
4.获取信息.
getName():返回文件名;
getpath():返回路径
getParent():返回父目录
getAbsolutePath():返回绝对路径
long LastModified():最后一次属性修改时间
long length();返回由此抽象路径名表示的文件的长度。
File对象常用操作实例:
import java.io.*;
class FileDemo
{
public static void main(String[] args) throws IOException
{
method_3();
}
public static void method_3()
{
File f1 = new File("c:\\Test.java");
File f2 = new File("d:\\hahah.java");
sop("rename:"+f2.renameTo(f1));
}
public static void method_2()
{
File f = new File("file.txt");
sop("path:"+f.getPath());
sop("abspath:"+f.getAbsolutePath());
sop("parent:"+f.getParent());//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null。
//如果相对路径中有上一层目录那么该目录就是返回结果。
}
public static void method_1()throws IOException
{
File f = new File("d:\\java1223\\day20\\file2.txt");
//f.createNewFile();
//f.mkdir();
//记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。
//通过exists判断。
sop("dir:"+f.isDirectory());
sop("file:"+f.isFile());
sop(f.isAbsolute());
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
递归
函数自身调用自身这种编程手法或者表现形式的编程技巧叫做递归( recursion)。
递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归注意事项:
1.限定条件
2.要注意递归的次数,尽量避免内存溢出.
递归应用实例:
需求:编写一个程序,遍历d:\java 目录下的所有文件(包含子目录下的文件)
import java.io.*;
class FileDemo3
{
public static void main(String[] args)
{
File dir = new File("d:\\java");//封装文件对象
showDir(dir);
System.out.println(dir.delete());
}
public static void showDir(File dir)
{
System.out.println(dir.getName());
File[] files = dir.listFiles();
for(int x=0; x<files.length; x++)
{
if(files[x].isDirectory())//判断文件是否是目录
showDir(files[x]);//调用函数自身
else
System.out.println(files[x]);
}
}
}