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();//关闭流


    }
    }
    }

  • 相关阅读:
    angularjs $index用来取顺序
    angularjs &登录跳转
    if(!confirm("您确定删除吗?")){return;}
    登录跳转
    undefined null测试
    git生成密钥
    遍历map
    网络相关名词解释
    redis的Pub/Sub
    SQLAlchemy的使用
  • 原文地址:https://www.cnblogs.com/starainDou/p/4694967.html
Copyright © 2011-2022 走看看