• IO


    一、FIle文件

    1、关于File的API(常用方法)

    返回类型  方法名       说明

    boolean  exists()      判断该文件是否存在

    String   getAbsolutePath() 输出该文件的绝地路径

    String   getName()     获取该文件的名称

    String   getParent()    返回file文件对象的上一级目录

    boolean  isAbsoulte()    测试该FIle对象表示的路径是否为绝地路径

    boolean  isDirectory()    测试该FIle对象是否表示为目录

    boolean  isFile()      测试该File对象表示的是否为文件

    File[]    listFile()      返回File表示目录下的所有文件

    二、Stream字节流

    1、InputStream抽象类

    (1)FileInputStream

    (2)FilterInputStream   字节缓冲流,需要关闭

    (3)ObjectInputStream  序列化,需要关闭流,避免造成资源浪费

    2、OutputStream抽象类

    (1)FileOutputStream

    (2)FilterOutputStream:BufferdOutputStream和DataOutputStream

    (3)ObjectOutputStream

    说明:其中FileterInputStream、ObjectInputStream和输出都依赖于InputStream和OutputStream抽象类

    DataOutputStream写入流源码:

    public static void DataOutputStreamTest(String path) throws Exception{
            OutputStream fis = new FileOutputStream(path);
            DataOutputStream dos = new DataOutputStream(fis);
            dos.writeUTF(info.name);
            dos.writeInt(info.pwd);
            dos.close();
            System.out.println("写入成功");
        }

    ObjectOutputStream写入流

    public static void ObjectOputputStreamTest(String path) throws Exception{
            FileOutputStream fos = new FileOutputStream(path);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(list);      //写入集合
            oos.close();
            System.out.println("写入完成");
        }

    FileInputStream读取流

    public static void fileInputStreamTest(String path) throws Exception{
            //创建文件读入流对象
            FileInputStream fis = new FileInputStream(path);
            //定义byte
            byte[] b=new byte[1024];
            int i=-1;    //默认读取长度为-1
            //遍历该文件的字节内容并进行读取
            while((i=fis.read(b))>0) {
                System.out.println(new String(b,0,i));
            }
        }

    FileOutputStream写入流

        //FileOutputStream写入
        public static void fileOutPutStreamTest(String path) throws Exception {
            String msg="我不曾在你辉煌时莫名而来,也不曾在你陷入低谷时离你而去!";
            FileOutputStream fos = new FileOutputStream(path);
            //getBytes()将字符串转化为byte
            fos.write(msg.getBytes());
            System.out.println("写入成功");
        }

    三、字符流

    1、Reader抽象类

    (1)FileReader

    (2)BufferReader

    (3)InputStreamReader

    2、Write抽象类

    (1)FileWriter

    (2)BufferWriter

    (3)OutputStreamWriter

    OutputStreamWriter源码:

    public static void outputStreamWriteTest(String path) throws Exception{
                OutputStream os = new FileOutputStream(path);
                OutputStreamWriter osw = new OutputStreamWriter(os);
                char[] c = new char[10];
                for(int i=0;i<c.length;i++) {
                    c[i]=(char) i;
                    
                }
                osw.write(c);
                osw.close();
            }

    InputStreamReader源码

    //InputStreamReader读取 依赖InputStream
            public static void inputStreanReaderTest(String path) throws Exception{
                InputStream in = new FileInputStream(path);
                InputStreamReader isr = new InputStreamReader(in);
                char[] c = new char[1024];
                int i=-1;
                while((i=isr.read(c))>0) {
                    System.out.println(new String(c,0,i));
                }
                isr.close();
                System.out.println("读取ok");
            }
  • 相关阅读:
    s s r 多用户 简单配置
    iptables vsftp timeout
    透明控件的通用解决方案
    一个带有可选自定义框架的透明对话框类
    把你的框架窗口一个影子
    WinForms形成皮肤
    WPF加载启动画面
    酷,半透明和形状对话框与标准的控制Windows 2000及以上
    在MFC应用程序中创建web风格的GUI
    画在WinForms控制
  • 原文地址:https://www.cnblogs.com/ByteBeat/p/11438123.html
Copyright © 2020-2023  润新知