zoukankan      html  css  js  c++  java
  • Java中File类的使用

    java.io.File类用于表示文件(目录)
    File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问

     1 import java.io.File;
     2 import java.io.IOException;
     3 
     4 public class FileDemo {
     5 
     6     public static void main(String[] args) throws IOException {
     7 
     8         //创建文件夹
     9         File file = new File("G:\imooc\test");
    10         if(!file.exists()){
    11             file.mkdir();
    12             System.out.println("文件夹创建成功");
    13         }else{
    14             file.delete();
    15             System.out.println("文件夹删除成功");
    16         }
    17         
    18         //创建文件
    19         File file2 = new File("G:\imooc","fileDemo.txt");
    20         if(!file2.exists()){
    21             file2.createNewFile();
    22             System.out.println("文件创建成功");
    23         }else{
    24             file2.delete();
    25             System.out.println("文件删除成功");
    26         }
    27         
    28         //判断是否是一个目录,如果是目录返回true,如果不是目录或目录不存在,返回false
    29         System.out.println("判断是否为目录:"+file.isDirectory());
    30         //判断是否是一个文件
    31         System.out.println("判断是否为文件:"+file2.isFile());
    32         
    33         //打印路径
    34         System.out.println(file);
    35         System.out.println(file2.getAbsolutePath());
    36         
    37         //打印文件名,打印的是最后的文件文字
    38         System.out.println(file.getName());
    39         System.out.println(file2.getName());
    40         
    41         //访问父文件
    42         System.out.println(file.getParent());
    43         
    44     }
    45 
    46 }

    列出File的一些常用操作,过滤、遍历等

     1 import java.io.File;
     2 import java.io.IOException;
     3 
     4 /**
     5  * 列出File的一些常用操作,过滤、遍历等
     6  * @author lenovo
     7  *
     8  */
     9 public class FileUtil {
    10 
    11     
    12     /**
    13      * 列出指定目录下(包括其子目录)的所有文件
    14      */
    15     public static void listDirectory(File dir)throws IOException{
    16         if(!dir.exists()){
    17             throw new IllegalArgumentException("目录:"+dir+"不存在");
    18         }
    19         if(!dir.isDirectory()){
    20             throw new IllegalArgumentException(dir+"不是目录");
    21         }
    22         
    23         //list()方法用于列出当前目录下的子目录和文件,返回的是字符串数组,只是子文件名称,不包含子文件下的内容
    24         String[] filename = dir.list();
    25         for (String string : filename) {
    26             System.out.println(dir+"\"+string);
    27         }
    28         
    29         System.out.println("-----------------");
    30         //如果要遍历子目录下的内容,就需要构造成File对象做递归操作,File提供了返回子对象的API
    31         File[] files = dir.listFiles();//返回的直接子目录(文件)的抽象
    32         if(files != null && files.length>0){
    33             for (File file : files) {
    34                 if(file.isDirectory()){
    35                     listDirectory(file);
    36                 }else{
    37                     System.out.println(file);
    38                 }
    39             }
    40         }
    41         
    42     }
    43 }

    RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件
    RandomAccessFile支持随机访问文件,可以访问文件的任意位置

    (1)Java文件模型
    在硬盘上的文件是byte byte byte存储的,是数据的集合
    (2)打开文件
    有两种模式,“rw”(读写)“r”(只读)
    RandomAccessFile raf = new RandomAccessFile(file,"rw");
    文件指针,打开文件时指针在开头 pointer = 0;
    (3)写文件
    raf.write(int)
    (4)读文件
    int b = raf.read()
    (5)文具读写完成以后一定要关闭

  • 相关阅读:
    提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
    五维偏序模板(bitset+分块)
    【BZOJ5328】【SDOI2018】—物理实验(扫描线+双指针)
    【VIOLET3】【BZOJ2716】天使玩偶(cdq分治)
    【BZOJ3295】【CQOI2011】—动态逆序对(cdq分治)
    【BZOJ1492】【NOI2007】—Cash(cdq分治维护凸包优化斜率dp)
    【BJOI2018】【BZOJ2591】—链上二次求和(线段树维护二次函数)
    【COGS2479】【HZOI2016】偏序(cdq套cdq)
    【BZOJ5293】【BJOI2018】—求和
    【BZOJ4009】【HNOI2015】—接水果(整体二分+扫描线)
  • 原文地址:https://www.cnblogs.com/jpwz/p/5687029.html
Copyright © 2011-2022 走看看