• java文件创建和删除


    流的操作在项目开发中用的很普遍,虽然每次在网上都可以百度到,但是总感觉心里不踏实,对此,关于流的操作做一个详细的总结---

    1、根据数据的流向来分:
    输出流:是用来写数据的,是由程序(内存)--->外界设备
    输入流:是用来读数据的,是由外界设备--->程序(内存)
    如何区分:一般来说输入流带有Input,输出流带有Output

    2、根据流数据的格式来分:
    字节流:处理声音或者图片等二进制的数据的流,比如InputStream
    字符流:处理文本数据(如txt文件)的流,比如InputStreamReader
    如何区分:可用高低端流来区分,所有的低端流都是字节流,所有的高端流都是字符流

    String path = "F:\testoyy\test";
    String filename = "test.txt";

    /**
    *
    * @Description: 创建目录
    */
    public void createDir(String path){
    File dir=new File(path);
    if(!dir.exists())
    dir.mkdir();
    }

    /**
    * @Description: 创建新文件
    */
    public void createFile(String path,String filename) throws IOException{
    File file=new File(path+"/"+filename);
    if(!file.exists())
    file.createNewFile();
    }

    /**删除文件*/
    public void delFile(String path,String filename){
    File file=new File(path+"/"+filename);
    if(file.exists()&&file.isFile())
    file.delete();
    }

    /**删除目录
    * 要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,
    * 因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件
    */
    public void delDir(String path){
    File dir=new File(path);
    if(dir.exists()){
    File[] tmp=dir.listFiles();
    for(int i=0;i<tmp.length;i++){
    if(tmp[i].isDirectory()){
    delDir(path+"/"+tmp[i].getName());
    }
    else{
    tmp[i].delete();
    }
    }
    dir.delete();
    }
    }

    /**
    * 清空文件内容
    * @param fileName 文件路径名,例如 F:\testoyy\test.txt
    * @return
    * @throws EMPException
    */
    public boolean emptyTxtFile(String fileName)
    throws Exception
    {
    FileOutputStream fos = null;
    try
    {
    File file = new File(fileName);
    //判断文件是否存在,不存在就新建一个
    if (!file.exists())
    {
    return file.createNewFile();
    }

    //输出流
    fos = new FileOutputStream(fileName);
    fos.write(new byte[0]);

    } catch (Exception e)
    {
    // EmpExecutionContext.error(e,"将字符串内容写入文件异常!fileName:" + fileName);
    // throw new EMPException(IErrorCode.B20002,e);
    } finally
    {
    if(fos != null)
    {
    try {
    fos.close();
    } catch (IOException e) {
    // EmpExecutionContext.error(e,"关闭流异常!fileName:" + fileName);
    // throw new EMPException(IErrorCode.B20003,e);
    }
    }
    }
    return true;

    }

  • 相关阅读:
    细说Unity3D(一)——移动平台动态读取外部文件全解析
    React16新增生命周期与旧版本生命周期的区别
    refs的作用是什么,你在什么业务场景下使用过refs
    react setState 的用法
    webpack中,是借助loader完成的JSX代码的转化,还是babel?
    虚拟dom是什么?为什么虚拟dom会提升代码性能?
    react 性能优化的最佳实践?
    你会把数据统一放在 redux 中管理,还是共享数据放在 redux 中管理?
    redux 中间件的原理是什么?
    谈谈你对This对象的理解?
  • 原文地址:https://www.cnblogs.com/ouyy/p/6813599.html
Copyright © 2020-2023  润新知