zoukankan      html  css  js  c++  java
  • Java IO学习第一天部分详解

    初学Java,记录总结老师授课的IO基础笔记

    IO流:(Input OutPut) 输入输出流: 输入 :将文件读到内存中  输出:将文件输出到其他地方。

    IO技术的作用 : 主要就是解决设备和设备之间的数据传输问题。 比如:硬盘到---》内存  ,内存数据---》硬盘中   把键盘中的数据写入到内存。

    IO的应用场景:
    比如: 打卡机到出信息表
    比如: 注册的时候图片的上传。
    比如 : 下载功能
    解析XML

    数据保存到本地,数据一个永久保存。数据保存到磁盘上是以文件的形式存在的。

    学习文件的操作

    java 中如何操作文件:

    java 中是通过File 文件类来操作文件和文件夹。

    学习文件类的构造方法:

           File(String pathname)  通过将给定路径名字符串转换为抽象路径名来创建一个新File实例

             File file = new File(D:\java学习/a.txt);

              System.out.println("是否存在文件?" + file.exists());

           File(File parent, String child)  根据parent 抽象路径名和child路径名字符串创建一个新的File实例

              File parent = new File(D:\);

              File file = new File(parent,"java学习/a.text");

               System.out.println("是否存在文件?" + file.exists());

           File(String parent, String child)  根据parent 路径名字字符串和child 路径名字字符串创建创建一个新 File 实例         

                 File file = new File("D:" + File.separator,"java学习/a.txt")

                 System.out.println("是否存在文件?" + file.exists());  

                //获取系统默认的分隔符
                //System.out.println(File.separator);

    -----------------------------------------------------------------------------------------------------------------

    路径问题:

     绝对路径:文件在硬盘的完整路径。绝对路径一般都是以盘符开头 D:\java学习  绝对路径

     相对路径:相对路径就是资源文件相对当前程序所在的路径

          File中的常用方法:

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

                    

               //在指定的位置创建一个空的文件

               /*File file = new File("D:\aa");
                System.out.println("通过指定的路径创建一个空的文件"+file.createNewFile());

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

                

                   1.不能够有同名的文件或文件夹 2.只能创建单级文件夹

                  File dir = new File("D:\cc"); //
                  System.out.println("创建文件夹成功吗"+dir.mkdir());

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

               File dirs = new File("D:\bb\aa");
               System.out.println("创建文件夹成功吗?"+dirs.mkdirs());

                 renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件夹,文件不同时相当于文件的剪切,剪切时候不能操作非空的文件夹。移动/重命名成功则返回true,失败则返回false。

                

                  File file = new File("D:\java学习/a.txt");
                   System.out.println("是否找到该文件夹?"+file.exists());
                   File destFile = new File("D:\aabb"); //指的是重命名的名字
                    System.out.println("重命名成功吗?"+file.renameTo(destFile));*/ // 重命名文件夹

               

                  // 重命名文件
                      File file = new File("D:\aa");
                     System.out.println("重命名成功吗?"+file.renameTo(new File("D:\aa.txt")));

                 /如果我是更改盘符 : renameTo 是做剪切的操作。
                        File file = new File("D:\aa.txt");
                     System.out.println("重命名成功吗"+file.renameTo(new File("G:\aa.txt")));

              

              

        

                  delete() 删除文件或一个空文件夹,如果是文件夹且不为空,则不能删除,成功返回true,失败返回false。

                   File file = new File("D:\java学习/a.txt")

                    System.out.println("删掉了吗?" + file.delete());
                  deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录,保证程序异常时创建的临时文件也可以被删除

                  file.deleteOnExit();

                 System.out.println("哈哈");

      

    ------------------------------------------------------------------------------------------------------------------

    public class Demo3{

            

          public static void main(String[] args){

                 File file = new Flie ("D:\a.txt");

                 System.out.println("存在吗?"+ file.exists());

                  File file2 = new Flie ("D:\bb");

               // File file3 = new Flie ("..\..\..\bb");

    //-----------------------------------------------------------------------------------

            获取方法:

               System.out.println("获取文件名称" +file.getName());  //获取文件名称,你写的是什么名就是什么名字。

               System.out.println("获取路径" +file.getPath());

                System.out.println("获取文件的绝对路径" +file.getAbsolutePath());

               System.out.println("获取文件的大小" +file. getTotalSpace());

               //以字节为单位1kb=1024b  1M = 1024KB  1G = 1024M;

               获取某个文件夹的大小:

              //思路:!! 获取文件夹中所有的文件包括子文件夹中的文件,将所有文件的大小累加!!

              

                 System.out.println("获取父目录" +file. getParent()); //除了文件以外的所有部分

                  //想要删除某个文件夹一周前的数据。

                 !!以毫秒为单位的

                   System.out.println("最后一次修改的时间" + file.lastModified());

                  //转成平常的时间

                   long time = file.lastModified();

                   Date  date = new Date(time);

                   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                   System.out.println("最后一次修改的时间” +dateFormat.format(date));

                  //文件夹的操作

                  /* File[] files = File.listRoots(); //获取windows所有盘符

                     for(File file : files){

                    System.out.println("盘符"+ file);m

                    }*/

                  //获取指定文件夹下文件和子目录,子目录中的东西是获取不到的

                   /*  File file = new File("D:\java学习/a.txt");

                     String[] nameStrings = file.list();

                     for(String string : nameStrings){

                      Syetem.out.println(String);   

                      }*/

                    File file = new File("D:\java学习/a.txt");

                    File[] files = file.listFiles();

                   for(File file2 : files){

                    System.out.println("name:" + file2.getName());

                    //判断file2指的是文件还是文件夹

                      if(file2.isDirectory()){

                            从子目录中再次获取值

                        File[] nextFiles = file2.listFiles();

                       for(File file3: nextFiles){

                      System.out.println("subname" + file3.getName());

                       }

                    }

                    }

                     

                    //查找指定的后缀名的文件

               /*    File file = new File("D:\java学习/a.txt);

                 //定义一个过滤器

                //FilenameFilter    一个接口

                 String[] strings = file.list(new MyFilter());

                for(String string : string){

                 System.out.println(String);

                   }*/

               


                     /*判断方法:
                       exists() 文件或文件夹是否存在。
                       isFile() 是否是一个文件,如果不存在,则始终为false。
                       isDirectory() 是否是一个目录,如果不存在,则始终为false。
                       isHidden() 是否是一个隐藏的文件或是否是隐藏的目录。
                        isAbsolute() 测试此抽象路径名是否为绝对路径名。

                     */

                if(file.exists()){

                 System.out.println("是文件吗?" + file.isFile());

                 System.out.println("是文件吗?" + file.isDirectory());

                 System.out.println("是隐藏文件吗?" + file.isHidden());

                 System.out.println("是隐藏文件吗?" + file2.isHidden());

                  System.out.println("是绝对路径吗?" + file3.isAbsolute());

             

    }

    }

    }

  • 相关阅读:
    DirectX11 With Windows SDK--14 深度测试
    DirectX11 With Windows SDK--12 深度/模板状态、平面镜反射绘制
    DirectX11--深入理解HLSL常量缓冲区打包规则
    JS学习笔记7_表单脚本
    JS学习笔记6_事件
    JS学习笔记5_DOM
    JS学习笔记4_BOM
    JS学习笔记3_函数表达式
    JS学习笔记2_面向对象
    JS学习笔记1_基础与常识
  • 原文地址:https://www.cnblogs.com/qq282273633/p/6129095.html
Copyright © 2011-2022 走看看