import org.junit.Test;
import java.io.File;
public class FileTest {
/**
* public File(String pathname):以pathname为路径创建File对象,可以是绝对路径或者相对路径
* public File(String parent,Sting child):以parent 为父路径,child为子路径创建File对象
* public File(File parent,String child):根据一个父File对象和子文件路径创建File对象
*
*
* 文件的路径表示方式
* 方式1:绝对路径: 包括盘符在内的文件或文件目录的完整路径
* 方式2:相对路径 相较于某个文件目录来讲的相对位置
* 在IDEA中,如果使用单元测试方法,相对于当前的module来讲
* 如果使用main()方法:相对于当前的project来讲
*/
@Test
public void test1(){
// public File(String pathname):以pathname为路径创建File对象,可以是绝对路径或者相对路径
File file1= new File ( "E://io/hello.txt" );
File file2= new File ( "abc" );
System.out.println (file2.getAbsolutePath ());
}
@Test
public void test2(){
//public File(String parent,Sting child)以parent 为父路径,child为子路径创建File对象
File file1 = new File ( "D://io","abc.txt" );
System.out.println (file1.getAbsolutePath ());
File file2 =new File ( "abc","asd.txt" );
// public File(File parent,String child):根据一个父File对象和子文件路径创建File对象
File file3=new File (file2,"666.txt");
System.out.println (file3.getAbsolutePath ());//D:\javacode\fanshe\abc\asd.txt\666.txt
}
}
* public String getName():获取名称 * public String getPath():获取路径 * public String getAbsolutePath():获取绝对路径 * public File getAbsoluteFile():获取绝对路径表示的文件 * public String getParent():获取上层文件目录路径 * public long length():获取文件长度,不能获取目录长度 * public long lastModified():获取最后一次的修改时间,毫秒值
import org.junit.Test;
import java.io.File;
public class FileTest1 {
/**
* public String getName():获取名称
* public String getPath():获取路径
* public String getAbsolutePath():获取绝对路径
* public File getAbsoluteFile():获取绝对路径表示的文件
* public String getParent():获取上层文件目录路径
* public long length():获取文件长度,不能获取目录长度
* public long lastModified():获取最后一次的修改时间,毫秒值
*
*/
@Test
public void test1(){
File file1 = new File ( "E:\\io\\io1" );
System.out.println (file1.getName ());
System.out.println (file1.getPath() );
System.out.println (file1.getAbsolutePath ());
System.out.println (file1.getAbsoluteFile ());
System.out.println (file1.getParent ());
System.out.println (file1.length ());
System.out.println (file1.lastModified ());
}
}
* public String [] list() :返回一个String数组,表示该File目录总的所有子目录或文件 * public File[] listFiles():返回一个File数组,表示File目录中的所有的子文件或目录
/**
* public String [] list() :返回一个String数组,表示该File目录总的所有子目录或文件
* public File[] listFiles():返回一个File数组,表示File目录中的所有的子文件或目录
*
*/
@Test
public void test3(){
File file =new File ( "E:\\yy\\9.26.0.0\\components\\com.yy.cefdev2\\131073" );
String[] listArr =file.list ();
for (String s :listArr
) {
System.out.println (s);
}
System.out.println ("------------------------------------------------------------");
File [] files = file.listFiles ();
for (File f:files
) {
System.out.println (f);
}
}
* File类的重命名功能 * public boolean renameTo(File dest) :把文件重命名为指定的文件路径
/**
* File类的重命名功能
* public boolean renameTo(File dest) :把文件重命名为指定的文件路径
*/
@Test
public void test4(){
File file1 =new File ( "abc.txt" );
File file2 =new File ( "E:\\io\\io1\\a.txt" );
// file1.renameTo ( file2 );
boolean renameSuccess =file1.renameTo ( file2 );
System.out.println (renameSuccess?"重命名成功":"重名名失败");
System.out.println ( file1.getAbsolutePath ());
}
* 判断功能的方法 * public boolean exists():此File表示的文件或目录是否实际存在。 * public boolean isDirectory():此file表示的是否为目录 * public boolean isFile():此File表示的是否为文件 * public boolean canRead():判断是否可读 * public boolean canWrite():判断是否可写 * public boolean isHidden():判断是否隐藏
/**
* 判断功能的方法
* public boolean exists():此File表示的文件或目录是否实际存在。
* public boolean isDirectory():此file表示的是否为目录
* public boolean isFile():此File表示的是否为文件
* public boolean canRead():判断是否可读
* public boolean canWrite():判断是否可写
* public boolean isHidden():判断是否隐藏
*
*/
@Test
public void test5(){
File file1 =new File ( "E:\\io\\io1\\a.txt" );
System.out.println (file1.exists ());
System.out.println (file1.isDirectory ());
System.out.println (file1.isFile ());
System.out.println (file1.canRead ());
System.out.println (file1.canWrite ());
System.out.println (file1.isHidden ());
File file2 =new File ( "E:\\io\\io1" );
System.out.println (file2.exists ());
System.out.println (file2.isDirectory ());
System.out.println (file2.isFile ());
System.out.println (file2.canRead ());
System.out.println (file2.canWrite ());
System.out.println (file2.isHidden ());
}
* 判断功能的方法 * public boolean exists():此File表示的文件或目录是否实际存在。 * public boolean isDirectory():此file表示的是否为目录 * public boolean isFile():此File表示的是否为文件 * public boolean canRead():判断是否可读 * public boolean canWrite():判断是否可写 * public boolean isHidden():判断是否隐藏
/**
* 判断功能的方法
* public boolean exists():此File表示的文件或目录是否实际存在。
* public boolean isDirectory():此file表示的是否为目录
* public boolean isFile():此File表示的是否为文件
* public boolean canRead():判断是否可读
* public boolean canWrite():判断是否可写
* public boolean isHidden():判断是否隐藏
*
*/
@Test
public void test5(){
File file1 =new File ( "E:\\io\\io1\\a.txt" );
System.out.println (file1.exists ());
System.out.println (file1.isDirectory ());
System.out.println (file1.isFile ());
System.out.println (file1.canRead ());
System.out.println (file1.canWrite ());
System.out.println (file1.isHidden ());
System.out.println ("--------------------");
File file2 =new File ( "E:\\io\\io1" );
System.out.println (file2.exists ());
System.out.println (file2.isDirectory ());
System.out.println (file2.isFile ());
System.out.println (file2.canRead ());
System.out.println (file2.canWrite ());
System.out.println (file2.isHidden ());
}
/**
* 创建、删除功能
* public boolean createNewFile():创建文件,若文件存在,则不创建,返回false
* public boolean mkdir() :创建文件目录 如果此文件目录存在,就不创建了。如果此文件目录不存在就创建
* public boolean mkdirs():创建文件目录。如果上层文件目录不存在,一并创建
* public boolean delete():删除文件或者文件夹
*
*/
@Test
public void test6() throws IOException {
File file1 =new File ( "E:/io/io1/666.txt" );
if (!file1.exists ()){
file1.createNewFile ();
System.out.println ("创建成功");
}else {
System.out.println ("此文件已存在");
file1.delete ();
System.out.println ("文件删除成功");
}
}
@Test
public void text7(){
File file1 =new File ( "E:/io/io2" );
if(!file1.exists ()){
file1.mkdir ();
}
File file2 =new File ( "E:/ioo/io2" );
if (!file2.exists ()){
file2.mkdirs ();
}
}
1.递归打印文件名称
import org.junit.Test;
import java.io.File;
//递归输出文件
public class Exer03 {
@Test
public void test1(){
File file1 =new File ( "D:/javacode" );
printFileName(file1);
}
public void printFileName(File file){
if(file.isFile ()){
System.out.println (file.getName ());
}else if (file.isDirectory ()){
File [] files=file.listFiles ();
for (File f:files
) {
printFileName ( f );
}
}
}
}