IO1--java27(02/22/2016)

package com.atguigu.java;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import org.junit.Test;
/*
 * File的静态属性String separator存储了当前系统的路径分隔符。
   在UNIX中,此字段为‘/’,在Windows中,为‘\\’

 */
/*
 * java.io.File类
 * 1.凡是与输入、输出相关的类、接口等都定义在java.io包下
 * 2.File是一个类,可以有构造器创建其对象。此对象对应一个文件(.txt .avi .doc .ppt .mp3 .jpg等)或者文件目录
 * 3.File类对象是与平台无关的。
 * 4.File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及文件内容的,File是无能为力的,必须由io流来完成。
 * 5.File类的对象常作为io流的具体类的构造器的形参。
 */
public class TestFile {

    /*
     *  createNewFile()
        delete()
        mkDir():创建一个文件目录。只有在上层文件目录存在的情况下,才能返回true
        mkDirs():创建一个文件目录。若上层文件目录不存在,一并创建
        list():把该目录下的文件以String数组的形式列出。
        listFiles():以文件的形式列出

     */
    @Test
    public void test3() throws IOException{
        File file1 = new File("c:/io/helloword.txt");//文件
//      boolean b = file1.exists();
//      System.out.println(b);
        System.out.println(file1.delete());
        
        
        if (!file1.exists()) {
            boolean b = file1.createNewFile();
            System.out.println(b);
        }
        
        File file2 = new File("c:\\io\\io1");
        if (!file2.exists()) {
            boolean d = file2.mkdir();
            System.out.println(d);
        }
        
        File file3 = new File("c:\\teach");
        String[] strs = file3.list();
        for (int i = 0; i < strs.length; i++) {
            System.out.println(strs[i]);
        }
        
        System.out.println();
        
        File[] files = file3.listFiles();
        for (int i = 0; i < files.length; i++) {
            System.out.println(files[i].getName());
        }
    }
    /*
     *  exists()
        canWrite()
        canRead()
        isFile()
        isDirectory()
        lastModified()
        length()

     */
    @Test
    public void Test2(){
        File file1 = new File("d:/io/helloword.txt");
        File file2 = new File("d:\\io\\io1");
        
        System.out.println(file1.exists());//true
        System.out.println(file1.canWrite());//true
        System.out.println(file1.canRead());//true
        System.out.println(file1.isFile());//true
        System.out.println(file1.isDirectory());//false
        System.out.println(new Date(file1.lastModified()));//
        System.out.println(file1.length());//
    }
    /*
     * 路径:
     * 绝对路径:包括盘符在内的完整的文件路径
     * 相对路径:在当前文件目录下的文件的路径
     * 
     * getName()
     * getPath()
     * getAbsoluteFile()
     * getAbsolutePath()
     * getParent()
     * renameTo(File newName)
     */
    @Test
    public void Test1(){
        File file1 = new File("d:/io/helloword.txt");
        File file2 = new File("hello.txt");
        
        File file3 = new File("d:\\io\\io1");
        File file4 = new File("d:\\io2");
        
        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());
        
        //renameTo(File newName):重命名
        //file1.renameTo(File2):file1重命名为file2,要求:file1文件一定存在,file2一定不存在
        //file1与file2必须类型相似,要是文件都是文件,要是目录都是目录。目录不却分是否绝对相对路径。
        boolean b = file1.renameTo(file2);
        System.out.println(b);//true,需要提前建好file文件啊
    }
    
}

你可能感兴趣的:(IO1--java27(02/22/2016))