//用绝对路劲创建一个新文件
public class FileTest1
{
public static void main(String[] args)
{
File file = new File("c:\\abc.txt");//只有windows系统才能识别这两个反斜杠,在其它linux系统中通用的是正斜杠/,推荐使用正斜杠。它只指定路径,并没有创建文件File.pathSeparator返回的结果是分号;
try
{
System.out.println(file.createNewFile());//创建一个新文件
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//用正斜杠创建路劲,如果文件存在,则创建失败
public static void main(String[] args) throws IOException
{
File file = new File("c:/abc");
File file2 = new File("c:/abc", "xyz/hello.txt");//xyz/hello.txt只要拼在一块能构建目录,就不会是文件名,hello.txt是在xyz目录下的,但前提是xyz目录已经存在的,此时可以不用在abc后加正斜杠/
file2.createNewFile();
}
//创建文件夹
public static void main(String[] args)
{
File file = new File("c:/abc/xyz/hello");
System.out.println(file.mkdirs());//mkdir不能把上一级目录都给创建出来,只能创建当前最后一个目录。而mkdirs就能创建所有目录
System.out.println(file.isFile());//false
}
//file.lilst()返回字符串数组
public static void main(String[] args)
{
File file = new File("C:/jakarta-jmeter-2.4");
// String[] names = file.list();
//
// for(String name : names)
// {
// System.out.println(name);//不能打印子目录下的文件和目录,只能打印当前目录下的文件和目录
// }
File[] files = file.listFiles();
for(File f : files)
{
//System.out.println(f.getName());//文件的名称
System.out.println(f.getParent());/返回父目录
}
//删除文件delete(),如果文件不存在,则删除失败
public static void main(String[] args) throws IOException
{
File file = new File("C:\\abc\\xyz\\hello\\abc.txt");
//file.createNewFile();
file.delete();
}
//遍历后缀名是.java的所有文件
public static void main(String[] args)
{
File file = new File("C:\\abc\\xyz\\hello");
String[] names = file.list();
for(String name : names)
{
//name.lastIndexOf(".java");//这方法也是获取最右边的字符。不过这有漏洞
if(name.endsWith(".java"))//推荐使用这种,这是获取最后的。
{
System.out.println(name);
}
}
//用FilenameFileter接口过滤后缀名为.txt的文件
public static void main(String[] args)
{
File file = new File("C:\\abc\\xyz\\hello");
String[] names = file.list(new FilenameFilter()
{
public boolean accept(File dir, String name)
{
if(name.endsWith(".txt"))
{
return true;
}
return false;
};
});
for(String name : names)
{
System.out.println(name);
}
//遍历c:\abc目录下的文件夹和文件,并且删除
public static void deleteAll(File file)
{
if(file.isFile() || file.list().length == 0)//顺序不能更换
{
file.delete();
}
else
{
File[] files = file.listFiles();
for(File f : files)
{
deleteAll(f);
}
file.delete();
}
}
public static void main(String[] args)
{
deleteAll(new File("c:\\abc"));
}