• Java基础篇-File IO编程


    如果自学时候 对于IO可能会有恐惧感

    如果要学好IO 必须清楚抽象类? 为什么

    IO的操作部分,重点掌握两个代码模型

    IO核心组成:
    五个类:
    File
    OutputStream
    InputStream
    Writer
    Reader

    File类详解
    在java.io当中
    File类是唯一一个与文件本身(文件的创建,删除,取得文件信息)有关的程序类

    File类的基本使用:

    java.io.File是一个普通的类,直接产生实例化对象即可

    两个常用的构造方法
    public File(String pathname)
    public File(File parent, String child) 设置父路径和子文件

    常用方法:

    创建新文件: public boolean createNewFile() throws IOException 只是创建文件本身,对于文件内容不做处理
    删除文件: public boolean delete()
    判断文件是否存在: public boolean exists()

    对于路径分隔符 Windows 是 UNIX 是 /
    定义一个常量
    public static final String separator JVM来决定最终的separator是什么内容

    同名文件的删除可能会存在一定的延迟

    File file = new File("d:\helllo.txt"); 
    File file = new File("d:" + File.separator + "hello.txt");
    
    file.createNewFile() //只是创建文件
    

    File类

    如果要处理文件内容,需要通过文件流来进行操作

    java.io包当中存在两种流: 字节流 与 字符流

    字节操作流

    • InputStream: 字节输入流
    • OutputStream: 字节输出流

    字符流:

    • 输入流: Reader
    • 输出流: Writer

    字节流是原生的操作
    网络数据传输,磁盘数据保存的支持的数据类型只有字节 没有, 而磁盘中的数据必须读取到内存之后才可以操作,内存可以将字节转换为字符

    基本操作流程固定:

    1. 根据文件路径创建File类对象
    2. 根据字节流或字符流的子类实例化父类对象
    3. 进行数据的读取、写入操作
    4. 关闭流 close() 方法

    对于IO操作属于自愿处理,所有资源处理操作必须进行关闭,如果项目内没有执行关闭,可能只能整个项目全部重启才能关闭

    java.io.OutputStream

    一定要看

    类的定义结构

    public abstract class OutputStream extends Object implements Closeable, Flushable

    两个接口
    Closeable : public void close() throws IOException
    Flushable : public void flush() throws IOException

    而在OutputStream类里还定义其它方法
    一个接口(Serializable)

    BufferedReader类

    类定义结构
    public class BufferedReader extends Reader
    public String readLine() throws IOException

    public BufferedReader(Reader in)

    默认的换行模式是BufferedReader最大确定 根据回车进行换行

    接收类型为String, 可以进行正则处理同时可以转换为各种的数据模式

    public class Demo {
        public static void main(String[] args) throws Exception {
            BufferReader buf = new BufferReader(new InputStream)
            System.out.println()
            System.out.println()
    
    

    已经被Scanner所替代

    打印流解决OutputStream缺陷
    java.util.Scanner 可以解决BufferedReader类缺陷
    Scanner 是一个专门进行数据流处理的程序类

    java.util.Scanner
    类的定义

    public

    判断是否有指定类型的数据: public boolean hasNextXXX();
    取得只能类型的数据 public boolean nextXXX();
    hasNext()
    String next()

    public class Demo {
        Scanner scan = new Scanner(System.in);
        System.out.print();
        if (scan.hasNextInt()) {
            int 
                    
    
    

    系统输出: out err
    调试过程 log 日志的模式输出

  • 相关阅读:
    使用过的一些前端工具
    文档和元素中与几何形状和滚动相关的属性和方法
    文档元素选取和遍历中的一些容易忘记的概念
    只存在于理想中的客户端JavaScript时间线
    JavaScript函数代码和执行上下文--ECMA-262-5
    JavaScript中的闭包
    Git Note
    HDOJ 4463 Outlets 最短路
    HDOJ 4548 美素数
    HDOJ 2544 最短路
  • 原文地址:https://www.cnblogs.com/kong-xy/p/9919606.html
Copyright © 2020-2023  润新知