zoukankan      html  css  js  c++  java
  • javaIO流

    File类(File类的概述和构造方法)

    A:File类的概述
      File更应该叫做一个路径
      文件路径或者文件夹路径
      路径分为绝对路径和相对路径
        绝对路径是一个固定的路径,从盘符开始
        相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下
      查看API指的是当前路径
      文件和目录路径名的抽象表示形式
    B:构造方法
      File(String pathname):根据一个路径得到File对象

    File类(File类的创建功能)

      A:创建功能
        public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了
        public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
        public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来
    注意事项:
    如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。

    :删除注意事项:
        Java中的删除不走回收站。
        要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹
     
    File类(File类的判断功能)
      A:判断功能
        public boolean isDirectory():判断是否是目录
        public boolean isFile():判断是否是文件
        public boolean exists():判断是否存在
     

    File类(File类的获取功能)
      A:获取功能
        public String getAbsolutePath():获取绝对路径
        public String getPath():获取路径
        public String getName():获取名称
        public long length():获取长度。字节数
        public long lastModified():获取最后一次的修改时间,毫秒值
        public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
    1 File file=new File("D:/");//指定文件目录
    2        String[] str=file.list();//获取指定目录下的所有文件或者文件夹的名称数组
    3        for(String s : str){//加强for循环遍历输出
    4            System.out.println(s);
    5        }
        public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组
    1       File file=new File("D:/");//指定文件路径
    2       File[] f=file.listFiles();//获取指定目录下的所有文件或者文件夹的File数组
    3          for(File fi : f){//加强for循环遍历输出
    4            System.out.println(fi);
    5       }

     1 File file=new File("aa.txt");//文件默认就创建在你创建的项目下面,刷新即可看到
     2         System.out.println(file.exists());//判断文件是否存在
     3         file.createNewFile();//创建文件,不是文件夹
     4         System.out.println(file.exists());//再次判断是否存在
     5         System.out.println(file.getName());//获取文件的名字
     6         System.out.println(file.getAbsolutePath());//获取文件的绝对路径
     7         System.out.println(file.getPath());//获取文件的相对路径
     8         System.out.println(file.getParent());//获取文件的父路径
     9         System.out.println(file.canRead());//文件是否可读
    10         System.out.println(file.canWrite());//文件是否可写
    11         System.out.println(file.length());//文件的长度
    12         System.out.println(file.lastModified());//文件最后一次修改的时间
    13         System.out.println(file.isDirectory());//判断文件是否是一个目录
    14         System.out.println(file.isHidden());//文件是否隐藏
    15         System.out.println(file.isFile());//判断文件是否存在

     
     获取某种格式的文件比如获取某种后缀的图片,并输出文件名:
    1   File file=new File("C:\Users\biehongli\Pictures\xuniji");
    2         String[] str=file.list();
    3          
    4          for(String s : str){
    5             if(s.endsWith(".jpg") || s.endsWith(".png")){//如果后缀是这种格式的就输出
    6                System.out.println(s);
    7            }
    8          }
    endwith

     获取文件夹下面子目录里面的文件获取(仅仅获取了子一级目录):

    读取目录下文件
     

    7:下面以一些字节输入输出流具体的案例操作(操作的时候认清自己使用的是字节流还是字符流):

    注意:read()方法读取的是一个字节,为什么返回是int,而不是byte
    字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到111111111;那么这11111111是byte类型的-1,我们的程序是遇到-1就会停止不读了,后面的数据就读不到了,所以在读取的时候用int类型接收,如果11111111会在其前面补上24个0凑足4个字节,那么byte类型的-1就变成int类型的255了这样可以保证整个数据读完,而结束标记的-1就是int类型
     
     单字节读取与写入
    1package com.ningmeng;
     2 
     3 import java.io.FileInputStream;
     4 import java.io.FileOutputStream;
     5 
     6 public class FileTest {
     7 
     8     public static void main(String[] args) throws Exception{
     9         FileInputStream fis=new FileInputStream("aaa.txt");
    10         FileOutputStream fos=new FileOutputStream("bbb.txt",true);
    11         //FileOutputStream()后面加true指文件后面可追加
    12         
    13         int a=fis.read();//read()一次读取一个字节 a-->97
    14         System.out.println(a);//读取的一个字节输出
    15         
    16         fos.write(97);//write()一次写一个字节 97 -->a
    17         fis.close();//一定记得关闭流,养成好习惯
    18         fos.close();
    19     }
    20 }
    View Code
     
     
     
     
     
     
     
     
     
    回首间---我错过了那片星海
  • 相关阅读:
    记好这24个ES6方法,用于解决实际开发的JS问题
    es6 扩展运算符 剩余运算符 ...
    Django基础006--在pycharm中将项目配置为Django项目
    Django基础005-Django开发的整体过程
    Django基础-004 上下文管理器&中间件&前端公共代码复用
    Django基础-003 配置Django自带的后台管理,操作数据库
    Django基础-002 Models的属性与字段
    jconsole和jstack
    Django基础-001
    前端009-vue框架
  • 原文地址:https://www.cnblogs.com/Vowzhou/p/10157170.html
Copyright © 2011-2022 走看看