zoukankan      html  css  js  c++  java
  • File类 -《学堂在线》

    File类的作用

    ·创建、删除文件;

    ·重命名文件;判断文件的读写权限及是否存在;

    ·设置和查询文件的最近修改时间等;

    ·构造文件流可以使用File类的对象作为参数。

    //: FileTester.java
    
    package com.xuetang.four;
    
    import java.io.File;
    
    /**
     * @author WuRoc
     * @GitHub www.github.com/WuRoc
     * @version 1.0
     * @2020年8月30日
     * import static com.wuroc.util.Print.*;
     * 
     */
    public class FileTester {
        public static void main(String[] args) {
            File f = new File("Hello.txt");
            if (f.exists()) 
                f.delete();
            else
                try {
                    f.createNewFile();
                }
            catch(Exception e) {
                System.out.println(e.getMessage());
            }
            
        }
    
    }

    运行结果

    因为在前面的例子中已经创建了Hello.txt,所以第一次运行将删除这个文件第二次运行则又创建了一个此名的空文件

    分析

    在试图打开文件之前,可以使用File类的isFile方法来确定File对象是否代表一个文件而非目录)还可通过exists方法判断同名文件或路径是否存在,进而采取正确的方法,以免造成误操作

    复制文件改进

    //: NewCopyBytes.java
    
    package com.xuetang.four;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.DataInputStream;
    import java.io.DataOutputStream;
    import java.io.EOFException;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    /**
     * @author WuRoc
     * @GitHub www.github.com/WuRoc
     * @version 1.0
     * @2020年8月30日
     * import static com.wuroc.util.Print.*;
     * 
     */
    public class NewCopyBytes {
        public static void main(String[] args) {
            DataInputStream instr;
            DataOutputStream outstr;
            if (args.length != 2) {
                System.out.println("Please Enter file name");
                return;
            }
            File inFile = new File(args[0]);
            File outFile = new File(args[1]);
            if (outFile.exists()) {   //复制的文件是否存在
                System.out.println(args[1] + " already exists");
                return;
            }
            
            if(!inFile.exists()) {  //复制源文件是否存在
                System.out.println(args[0] + "does.not.exist");
            
            return;
            }
            
            try {
                instr = new DataInputStream(new BufferedInputStream(new FileInputStream(inFile)));
                outstr = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)));
                
            
            try {
                int data;
                while(true ) {
                    data = instr.readUnsignedByte();  //每次读一个字节
                    outstr.writeByte(data);     
                }
            }
            
                catch(EOFException eof) {
                    outstr.close();
                    instr.close();
                    return;
            
            }
            }
            catch(FileNotFoundException nfx) {
                System.out.println("Problem opening files");
            }
            
            catch(IOException iox) {
                System.out.println("IO Problem");
            }
        }
    
    }
    如有错误,恳求读者指出,发送到wu13213786609@outlook.com。
  • 相关阅读:
    企业——给Zabbix部署onealert云告警平台
    企业——使用API在Zabbix监控中实现查看、创建、删除监控主机的功能
    企业——监控平台Zabbix的安装
    企业——Redis的高可用的搭建
    企业——Redis的主从复制的搭建
    企业——MYSQL异步复制、半同步复制、全同步复制
    企业——memcache对PHP页面的缓存加速优化
    企业——HAproxy实现负载均衡及其常见配置
    企业——LVS 负载均衡的八种调度算法
    PHP微信公众号开发之自动回复
  • 原文地址:https://www.cnblogs.com/WLCYSYS/p/13585112.html
Copyright © 2011-2022 走看看