zoukankan      html  css  js  c++  java
  • java文件(文件夹)操作

    java中文件操作

    判断是否为文件file.isFile()方法

    判断是否为目录file.isDirectory()方法

    判断是否存在file.exist()方法

    创建新文件file.createNewFile()

    删除文件file.delete()

    重命名file.renameTo(new File("Desktop/javatester.txt"));windows环境下需要注意不能直接跨盘操作

    写文件为什么最后要用close()方法关闭流?

    不调用此方法,可能系统还没有完成所有数据的写操作,程序执行完毕结束,导致流中的最后一些数据没有写入文件,这取决于操作系统的繁忙程度和硬盘IO效率。

    而添加close(方法后,close()方法为程序一部分,close()执行前必须数据流写完毕,然后执行close(),最后程序再结束

    写少量文本内容时,用FileWriter类还可以,但是大量数据时,最好用BufferedWriter

    package com.starain.io;

    import java.io.BufferedWriter;


    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;

    public class FileOperation {
    public static void main(String[] args) throws IOException {
    File file1 = new File("D:\hello4.txt");
    File file2 = new File("D:\hello4.txt");
    if(file1.exists()){//判断file1文件是否存在
    file1.delete();//删除file1文件
    }
    /*测试file1是否已经删除*/
    if(file1.exists()){
    System.out.println("file existed");
    }else {
    System.out.println("had been deleted");
    }
    /*如果file2不存在则创建file2,然后命名为test5.txt*/
    if(!file2.exists()){

    //抛出异常
    try {
    file2.createNewFile();//创建文件
    System.out.println("文件已经创建");
    } catch (IOException e) {
    System.out.println("文件无法创建");
    }
    if(file2.isFile()){
    //重命名
    File name = new File("D:\test5.txt");
    file2.renameTo(name);
    }
    /*写文件*/
    //FileWriter形式,不带缓冲,适合内容较少时
    String pathName1 = "D:/test5.txt";
    FileWriter filewriter1 = new FileWriter(pathName1);//可能抛出异常,所以用throw IOException或者try{}catch{}
    filewriter1.write("This is a test program ");
    filewriter1.write("hello world");
    filewriter1.close();//因为程序执行较快,但是文件读写较慢,
    //不调用close()方法可能造成文件正在写时(未写完),程序执行完,写操作便终止,一些数据未写上去

    //BufferedWriter高效的缓冲器流类
    String pathName2 = "D:\test6.txt";//文件不存在时自动创建,存在时覆盖旧文件
    BufferedWriter filewriter2 = new BufferedWriter(new FileWriter(pathName2));
    /*String pathName2 = "D:/test6.txt";
    * FileWriter file1 = new FileWriter(pathName2);
    * BufferedWriter filewriter2 = new BufferedWriter(file1);
    */
    filewriter2.write("test6");
    filewriter2.write(" hello");//遇到非 换行的系统导致不能正常换行
    filewriter2.newLine();//newLine()方法换行,能解决不同系统间换行方法不同的难题
    filewriter2.write("world");
    filewriter2.close();//关闭流


    }
    }
    }

  • 相关阅读:
    专有宿主机如何实现“资源池”管理——集群管理能力升级
    像Google一样构建机器学习系统3
    利用阿里云容器服务打通TensorFlow持续训练链路
    阿里云积极落实等级保护制度,政务云全国首个通过等保2.0合规评测
    Facebook F8|闲鱼高级技术专家参会分享
    UI2CODE智能生成代码——组件识别篇
    基于TableStore的海量气象格点数据解决方案实战
    药品监管系统架构揭秘:海量溯源数据存储与查询
    对比MySQL,一文看透HBase的能力及使用场景
    bzoj1003 [ZJOI2006]物流运输
  • 原文地址:https://www.cnblogs.com/starainDou/p/4694967.html
Copyright © 2011-2022 走看看