美文网首页
IO输入/输出流(一)

IO输入/输出流(一)

作者: 菜鸟要逆袭 | 来源:发表于2018-07-10 22:45 被阅读0次

前言:

Java中对数据进行持久化操作

File类的概述和作用:

java中把文件或目录(文件夹)都封装成File类的对象,在java中可以根据File类对系统中的文件或者目录(文件夹)进行操作

  • 1 File类的静态成员变量
public class FileDemo{
  public static void main(String[] args){
    System.out.println(File.pathSepartor);
    //显示当前操作系统下的目录分隔符,windwos操作系统为";",linux为":"   
    System.out.println(File.separtor);
    //显示当前操作系统下的名称分隔符,windwos操作系统为"\",linux为"/"   
  }
}
  • 2 File类的构造方法
public class FileDemo{
  public static void main(String[] args){

    //关于路径大小写问题,windows系统中不区分大小写,linux区分

    File file1 = new File("c:\\windows\\admin");
    System.out.println(file1);
    //在File(String pathname)构造方法中直接传递文件/文件夹路径,输出为"c:\windwos\admin"

    File file2 = new File("c:","windows\\admin");
    System.out.println(file2);
    //在File(String parent,String child)构造方法中直接传递文件/文件夹父路径和子路径灵活性更高,输出为"c:\windwos\admin" 

    File file3 = new File(file1,"picture");
    System.out.println(file3);
    //在new File(File file,String child)构造方法中直接传递文件/文件夹父路径对象和子路径,灵活性更高,输出为"c:\windwos\admin\picture"
  }
}
  • 3 File类的创建和删除功能
public class FileDemo{
  public static void main(String[] args) throws IOException{

    /*File类使用  createNewFile()  方法创建文件*/
    File file1 = new File("d:\\wenjian.txt");
    boolean b = file1.createNewFile();
    System.out.println(b);
    //创建文件,成功返回true,反之为false(如果文件已经存在也为false)

    /*File类使用  mkdirs() 、mkdir()  方法创建目录*/
    File file2 = new File("d:\\mulu");
    boolean b = file2.mkdirs();
    //mkdirs()可以创建单层以及多层目录,mkdir()只能创建单层目录
    System.out.println(b);
    //创建目录,成功返回true,反之为false(如果目录已经存在也为false)

    /*File类使用  delete()  方法删除文件或目录*/
    File file3 = new File("d:\\mulu");
    boolean b = file3.delete();
    System.out.println(b);
    //删除文件/目录,成功返回true,反之为false(此删除不走回收站)
  }
}
  • 4 File类的获取功能
public class FileDemo{
  public static void main(String[] args){
    File file = new File("c:\\windows\\win32.exe")

    String name = file.getName();
    //显示文件/目录的名字,即路径最后部分的名字,输出为"win32.exe"

    String path = file.getPath());
    //显示文件/目录的全路径,输出为"c:\windows\win32.exe"

    String length = file.getLength();
    //显示文件/目录的大小,单位为字节,返回值类型为long

    String absolutePath1 = file.getAbsolutePath();
    File absoluteFile1 = file.getAbsoluteFile();
    //显示文件/目录的绝对路径,输出为"c:\windows\win32.exe"

    String absolutePath2 = file.getParentPath();
    File absoluteFile2 = file.getParentFile();
    //显示文件/目录的父路径,输出为"c:\windows",如果对盘符进行该操作则返回"null"
  }
}
  • 5 File类的判断功能
public class FileDemo{
  public static void main(String[] args){
    File file = new File("c:\\windows\\win32.exe")
    boolean b = file.exists();
    //显示文件/目录是否存在,存在返回true,反正为false
  }
}
  • 6 File类的列表获取功能
public class FileDemo{
  public static void main(String[] args){
    File file = new File("c:")

    File[] fileList = file.listFiles();
    //显示全路径,推荐使用
    String[] fileList2 = file.list();
    //只显示具体的文件/目录名称,不推荐使用
    File[] fileList3 = file.listRoots();
    //获取系统中的所有根目录
  }
}
  • 7 文件过滤器
//创建文件过滤类(实现FileFilter接口)
public class MyFilter implements FileFilter{
  //该方法的调用者为listFiles(),具体调用过程为file.listFiles()方法遍历目录,获得目录下所有路径,该方法再调用accept()方法,并将所获得路径传给accept()方法,根据accept()方法中的过滤规则进行过滤,如果符合规则则将该路径保存到fileList的数组中
  public boolean accept(File pathname){
}
} 
//根据创建的过滤规则,遍历目录
public FileFilterDemo{
  public static void main(String[] args){
    File file = new  File("c:");
    File[] fileArr = file.listFiles(new MyFilter());
    for(File f : fileArr){
      System.out.println(f);
    }
  }
}
  • 8 递归遍历全目录
public FileDemo{
  public static void main(String[] args){
    File dir= new File("c:\\");
    getAllDir(dir);
  }
  public static void getAllDir(File dir){
    File fileArr = dir.listFiles();
    for(File f : fileArr){
      if(f.isDirectory){ //判断变量f的路径是不是文件夹
        return getAllDir(f);
      }else{
        System.out.println(f);
      }
    }
  } 
}

相关文章

  • Java IO流详解(一)——预备知识

    Java IO流详解(一)——预备知识 一、字符与字节 在Java中有输入、输出两种IO流,每种输入、输出流又分为...

  • Java的IO和NIO

    一、IO java的IO功能都在java.io包下,包括输入输出两种IO流,每种输入输出流又可分为字节流和字符流两...

  • java基础-day20-IO流和StringBuffer

    IO流和StringBuffer 1. IO流 1.1 IO流概述 1.2 IO流分类 1.3 文件操作输入输出字...

  • IO输入/输出流(一)

    前言: Java中对数据进行持久化操作 File类的概述和作用: java中把文件或目录(文件夹)都封装成File...

  • IO

    IO文件读写 输入流输出流字节流字节输入流 InputStream字节输出流 OutputStream字符流字符输...

  • IO流

    一、IO流 1.1 IO的概述 IO流介绍 IO:输入/输出(Input/Output) 流:是一种抽象概念,是对...

  • Java学习Day16

    今日学习内容总结 字节流的输入及输出 IO流 IO的分类 根据数据的流向分为:输入流和输出流。 输入流 :把数据从...

  • JavaSE总结(9)IO流(1)

    一、IO流: IO流: input输入(流向内存) 读取数据 output输出(流出内存) 写出数据 IO...

  • Java-IO

    IO:Java数据的 输入\输出 数据流:根据流向分为输入流(InputStream\Reader)和输出流(Ou...

  • 2019-08-26 IO字符流

    一.IO流概述 IO(input/output):输入和输出指的是某个设备或环境进行数据的输入或者输出,例如键盘的...

网友评论

      本文标题:IO输入/输出流(一)

      本文链接:https://www.haomeiwen.com/subject/oasxpftx.html