zoukankan      html  css  js  c++  java
  • IO流

    IO流(Input Output) :

    IO技术主要的作用是解决设备与设备之间 的数据传输问题。 比如: 硬盘--->内存 内存的数据---->硬盘上 把键盘的数据------->内存中

    IO技术的应用场景:
    导出报表 , 上传大头照 、 下载 、 解释xml文件 ...

    数据保存到硬盘上,该数据就可以做到永久性的保存。 数据一般是以文件的形式保存到硬盘上

    sun使用了一个File类描述了文件或者文件夹的。

    File类可以描述一个文件或者一个文件夹。


    File类的构造方法:

    • File(String pathname) 指定文件或者文件夹的路径创建一个File文件。
    • File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
    • File(String parent, String child)

    目录分隔符: 在windows机器上 的目录分隔符是 ,在linux机器上的目录分隔符是/ .

    注意: 在windows上面 与 / 都可以使用作为目录分隔符。 而且,如果写/ 的时候只需要写一个即可。

    public class Demo1 {
        public static void main(String[] args) {
            File file=new File("D:\file.txt");
            File parentFile=new File("D:\");
            File file2=new File(parentFile,"file.txt");
            File file3=new File("D:\","file.txt");
            File file4=new File(".");
            
            System.out.println("文件是否存在"+file.exists());
            System.out.println("文件是否存在"+file2.exists());
            System.out.println("文件是否存在"+file3.exists());
            System.out.println("当前文件路径"+file4.getAbsolutePath());
        }
    //    搜索d盘文件
        public static File text(String child) {
            File parentFile=new File("D:\");
            File file2=new File(parentFile,child);
            return file2;
        }
    }

    一、创建

    createNewFile() 在指定位置创建一个空文件,成功就返回true,如果已存在就不创建然后返回false

    mkdir() 在指定位置创建目录,这只会创建最后一级目录,如果上级目录不存在就抛异常。

    mkdirs() 在指定位置创建目录,这会创建路径中所有不存在的目录。

    renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件夹,文件不同时相当于文件的剪切,剪切时候不能操作非空的文件夹。

    移动/重命名成功则返回true,失败则返回false。

    public class Demo2 {
        public static void main(String[] args) throws IOException {
            //file创建方法
            File file=new File("D:\file.txt");//创建文件名称
            System.out.println("创建成功了吗:"+file.createNewFile());
            File dir =new File("D:\file");//创建文件夹名称
            System.out.println("创建文件成功麻?"+dir.mkdir());
            File dirs=new File("D:\file\aa");//创建多级文件夹名称
            System.out.println("创建多文件成功麻?"+dirs.mkdirs());
            
        }
    }

    二、删除操作

    delete() 删除文件或一个空文件夹,如果是文件夹且不为空,则不能删除,成功则成功true不成功false;
    * deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删 除
    * deletedeleteOnExit区别
    * 1.delete是执行后马上删除 ,deleteOnExit是虚拟机终止时才进行删除操作,多用于删除临时文件

    public class Demo3 {
        public static void main(String[] args) {
            File file=new File("F:\a.txt");
    //        System.out.println("删除成功麻"+file.delete());
    //        file.deleteOnExit();//java虚拟机退出的时候删除文件
    //        判断方法
            File file2=new File("F:\a.txt");
            System.out.println("文件是否是一个文件"+file2.exists());
            System.out.println("判断是否是一个文件"+file2.isFile());
            System.out.println("判断是否是一个文件夹"+file2.isDirectory());
            System.out.println("判断是否是一个隐藏的文件"+file2.isHidden());
            System.out.println("判断是否是一个绝对路径"+file2.isAbsolute());
        }
    }

    应用

    //需求1 :  指定一个文件夹,然后该文件夹下面所有java文件。
    
    //需求2: 指定一个文件夹,然后列出文件夹下面的所有子文件与文件夹,但是格式要如下:
    class MyFilters implements FilenameFilter{
        public boolean name() {
            return false;
            
        }
    
        @Override
        public boolean accept(File dir, String name) {
            // TODO Auto-generated method stub
            return name.endsWith(".java");
        }
    }
    public class Demo5 {
        public static void main(String[] args) {
            File dir =  new File("D:\BaiduYunDownload\2015年传智播客Java第32期基础+就业班(84天)视频\基础班\day06\day06\代码");
            File dir2 =  new File("D:\BaiduYunDownload\2015年传智播客Java第32期基础+就业班(84天)视频\基础班\day06");
    //        listFiles(dir2);
            listJava2(dir);
        }
        public static void listJava2(File dir){
            File[] files = dir.listFiles(new MyFilters()); //得到文件夹下面的所有子文件与文件夹。
            for(File file : files){
                System.out.println(file.getName());
            }
        }
        public static void listJava(File dir) {
            File[] files=dir.listFiles();//获取所有子文件
            for(File file:files){
                String finleName=file.getName();
    //            if(finleName.endsWith(".java")&&file.isFile()){
    //                System.out.println(finleName);
    //            }
    //            正则判断
                if(finleName.matches(".+\.java")&&file.isFile()){
                    System.out.println(finleName);
                }
            }
        }
        public static void listFiles(File dir) {
            File[] files= dir.listFiles();
            System.out.println("文件");
            for(File file:files){
                if(file.isFile()){
                    System.out.println("	"+file.getName());
                }
            }
            System.out.println("文件夹");
            for(File file:files){
                if(file.isFile()){
                    System.out.println("	"+file.getName());
                }
                if(file.isDirectory()){
                    System.out.println("	"+file.getName());
                }
            }
        }
    }
  • 相关阅读:
    Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
    MySQL 数据备份与还原
    java实现时钟方法汇总
    java实现二叉树demo
    java实现心型、99乘法demo
    显示本月日历demo
    打开图片并显示在面板上demo
    ArraySort--冒泡排序、选择排序、插入排序工具类demo
    类的实例化顺序
    StringsUtil字符串工具类---灵活截取
  • 原文地址:https://www.cnblogs.com/chenzxl/p/7868300.html
Copyright © 2011-2022 走看看