文件属性的操作

1)用3种方式创建文件对象“d:\java123\abc.txt”,并获取此文件的名称和文件大小、是否隐藏文件、路径、绝对路径、父路径、最后修改时间等信息。
(2)用createNewFile方法在当前目录下新建文件“a.txt”,并获取此文件的路径、绝对路径、父路径,然后将其删除,根据删除的返回值打印是否成功删除的信息。
(3)列出目录“d:\java123” 下所有文件和目录;列出目录“d:\java123” 下所有后缀为“java”的文件。

代码:
package class2;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MyFile{
    public static void main(String[] args) {
        Date now=new Date();
        SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        File file = new File("d:/java123/abc.txt");
        File file1= new File("d://java123//abc.txt");
        File file2= new File("d:\\java123\\abc.txt");
        System.out.println("文件的名称是:"+file.getName());
        System.out.println("文件的大小是:"+file.length());
        System.out.println("文件是否是隐藏文件:"+file.isHidden());
        System.out.println("文件的路径为:"+file.getPath());
        System.out.println("文件的绝对路径为:"+file.getAbsolutePath());
        System.out.println("文件的父路径为:"+file.getParent());
        System.out.println("文件最后修改时间是:"+dateFormat.format(file.lastModified()));
        System.out.println("\n");
        File f = new File("d:/java123/a.txt");
        if(!f.exists()) {
            try {
                f.createNewFile();
            } catch (IOException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
        }
        System.out.println("文件的路径为:"+f.getPath());
        System.out.println("文件的绝对路径为:"+f.getAbsolutePath());
        System.out.println("文件的父路径为:"+f.getParent());
        if(f.delete()) {
            System.out.println("文件删除成功!");
        }
        System.out.println("\n");
        File dir=new File("d:/java123");
        String[] fileNames=dir.list();
        System.out.println("list all files..."+fileNames.length);
        for(int i=0;i<fileNames.length;i++) {
            System.out.println(fileNames[i]);
        }
        System.out.println("\n");
        
        FileAccept con=new FileAccept("java");
        fileNames =dir.list(con);
        System.out.println("list java files..."+fileNames.length);
        for(int i=0;i<fileNames.length;i++) {
            System.out.println(fileNames[i]);
        }
    }
}

class FileAccept implements FilenameFilter{
    String extName="";
    FileAccept(String extName){
        this.extName=extName;
    }
    public boolean accept(java.io.File file,String fileName) {
        return fileName.endsWith(extName);
    }
}

运行截图:

文件内容的读写
(1)教材P278【例15.3】,使用FileOutputStream类向文件word.txt写入信息,然后通过FileInputStream类将文件中的数据读到控制台上。

代码:
package class2;

import java.io.*;
public class MyIO {
    public static void main(String[] args) {
        String str="abcd1234文件...---";
        File file=new File("d:/java123/word.txt");
        try {
            FileOutputStream out=new FileOutputStream(file,true);
            FileInputStream put=new FileInputStream(file);
            byte[] byt1=str.getBytes();
            out.write(byt1);
            out.close();
            byte[] byt2=new byte[(int)file.length()];
            put.read(byt2);
            String str1=new String(byt2);
            System.out.print(str1);
            put.close();
        } catch (FileNotFoundException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
    }
}

运行截图:

(2)用FileOutputStream类和FileInputStream类实现文件的复制,并验证word、jpg、 avi、文本文件(txt)的复制情况。

代码:
package class2;

import java.io.*;
public class MyCopy {
    public static void main(String[] args) {
        File file1=new File("d:/java123/copy1.txt");
        File file2=new File("d:/java123/copy2.txt");
        try {
            FileInputStream iput=new FileInputStream(file1);
            FileOutputStream oput=new FileOutputStream(file2);
            FileInputStream iput1=new FileInputStream(file2);
            byte[] byt=new byte[(int)file1.length()];
            iput.read(byt);
            String str1=new String(byt);
            oput.write(byt);
            oput.close();
            byte[] byt2=new byte[(int)file2.length()];
            iput1.read(byt2);
            String str2=new String(byt2);
            if(str1.equals(str2)) {
                System.out.println("文件复制成功!");
            }
            iput.close();
            iput1.close();
        } catch (FileNotFoundException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
    }
}

运行截图:

猜你喜欢

转载自www.cnblogs.com/quan-2723365710/p/12163882.html
今日推荐