zoukankan      html  css  js  c++  java
  • java基础学习--I/O流

    什么是IO流?

    file类

    file类常用的方法有下面几种:

    public String getAbsolutePath()   //获取绝对路径
    public String getPath() //获取路径
    public String getName()  //获取名称
    public String getParent() //获取上层文件目录路径 。若无 ,返回 null null
    public long length () //获取文件长度(即:字节数)。不能获取目录的长度 。
    public long lastModified() //获取 最后一次的修改时间 ,毫秒值
    public String[] list () //获取指定目录下的所有文件或者 文件 目录 的名称数组
    public File[] listFiles () //获取指定目录下的所有文件或者 文件 目录 的File数
    public boolean isDirectory() //判断是否是文件夹
    public boolean isFile() //判断是否是文件
    public boolean exists() //判断是否存在
    public boolean creatNewFile() //创建文件,若文件存在则不创建,返回false
    public boolean mkdir() //创建文件目录,如果 此文件目录存在 ,就不创建 了。 如果此文件目录的上层不存在 ,也不创建 。
    public boolean mkdirs() //创建文件 目录 。如果 上层 文件 目录 不存在 ,一并创建

     下面代码利用file类简单实现创建文件夹,并在文件夹里面创建空文件。

    public class FileTest {
        public boolean deleteHello(){
            File file4 = new File("I:\java_study\java_code\Test\Filestudy\hello\hello.txt");
            if (file4.exists()){
                file4.delete();
                return true;
            }else{
                return false;
            }
        }
        public static void main(String[] args) {
    
            File file = new File("I:\java_study\java_code\Test\Filestudy\hello");
            if (!file.exists()){
                file.mkdir();
            }
            File file1 = new File(file,"1.txt");
            if (!file1.exists()){
                try {
                    file1.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            File file2 = new File(file,"2.txt");
            if (!file2.exists()){
                try {
                    file2.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
            File file3 = new File(file,"3.txt");
            if (!file3.exists()){
                try {
                    file3.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
            FileTest t1 = new FileTest();
            System.out.println(t1.deleteHello());
        }
    }

     流的分类

    • 按操作数据单元不同分为:字节流(8bit),字符流(16bit)
    • 按数据流的流向不同分为:输入流、输出流
    • 按流的角色的不同分为:节点流、处理流
    • 节点流:直接从数据源或目的地读写数据
    • 处理流:不直接连接到数据源或者目的地,而是连接在已存在的流之上,通过对数据的处理为程序提供更强大的读写功能

    节点流

    节点流:直接与数据源相连,读入或读取,直接使用节点流读写不方便,为了更快地读写文件,需要使用处理流。

     处理流

    处理流和节点流一块使用,在节点流的基础上,再套接一层,套接在节点流上的就是处理流。如   BufferedReader 处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。

    转换流

    InputStreamReader、OutputStreamWriter要InputStream或OutputStream作为参数,实现从字节流到字符流的转换。

    构造函数

    InputStreamReader(InputStream);        //通过构造函数初始化,使用的是本系统默认的编码表GBK。
    InputStreamReader(InputStream,String charSet);   //通过该构造函数初始化,可以指定编码表。
    OutputStreamWriter(OutputStream);      //通过该构造函数初始化,使用的是本系统默认的编码表GBK。
    OutputStreamwriter(OutputStream,String charSet);   //通过该构造函数初始化,可以指定编码表。

     Java共涉及到的IO流一共有40多个类,都是从这4个抽象基类派生出来的,由这4个类派生出来的子类名称都是以其父类名作为子类名后缀。

     参考

    Java IO流学习总结一:输入输出流

      

  • 相关阅读:
    数论学习笔记之欧拉函数
    [CQOI2014]危桥
    lspci -nnk
    linux 详解useradd 命令基本用法
    。 (有些情况下通过 lsof(8) 或 fuser(1) 可以 找到有关使用该设备的进程的有用信息)
    CentOS 7 设置默认进入字符界面
    下面附上top和sar的使用方法,方便参考! "top"工具
    Centos7/RHEL7 开启kdump
    Linux内存带宽的一些测试笔记
    调试测试
  • 原文地址:https://www.cnblogs.com/s1awwhy/p/13360400.html
Copyright © 2011-2022 走看看