二、javaIO流入门类图

2018-07-29  本文已影响18人  joy_蓝蜘蛛

javaIO类图

IO类图

https://blog.csdn.net/luofenghan/article/details/75503750

字节流

字节流
image.png

字符流

字符流
字符流

一、什么地方用到IO?

本地文件读写、网络文件传输入、网络数据传输。

案例1:文件写入
package com.hxw.io;
import java.io.*;
 
public class FileExample{
    public static void main(String[] args) {
     
        createFile();
    }
 
  /**
   * 文件处理示例
   */
  public static void createFile() {
     File f=new File("E:/电脑桌面/jar/files/create.txt");
        try{
            f.createNewFile();  //当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
            System.out.println("该分区大小"+f.getTotalSpace()/(1024*1024*1024)+"G"); //返回由此抽象路径名表示的文件或目录的名称。
            f.mkdirs();  //创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
//            f.delete(); //  删除此抽象路径名表示的文件或目录
           System.out.println("文件名  "+f.getName());  //  返回由此抽象路径名表示的文件或目录的名称。
           System.out.println("文件父目录字符串 "+f.getParent());// 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
          
        }catch (Exception e) {
            e.printStackTrace();
        }
  }
}
案例2:文件复制
package com.joychen.io01;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyFile {
    public static void main(String args[]) {

        // TODO自动生成的方法存根
        byte[] buffer = new byte[512];   //一次取出的字节数大小,缓冲区大小
        int numberRead = 0;
        FileInputStream input = null;
        FileOutputStream out = null;
        try {
            input = new FileInputStream("D:/David/Java/java 高级进阶/files/tiger.jpg");
            out = new FileOutputStream("D:/David/Java/java 高级进阶/files/tiger2.jpg"); //如果文件不存在会自动创建

            while ((numberRead = input.read(buffer)) != -1) {  //numberRead的目的在于防止最后一次读取的字节小于buffer长度,
                out.write(buffer, 0, numberRead);       //否则会自动被填充0
            }
        } catch (final IOException e) {
            // TODO自动生成的 catch 块
            e.printStackTrace();
        } finally {
            try {
                input.close();
                out.close();
            } catch (IOException e) {
                // TODO自动生成的 catch 块
                e.printStackTrace();
            }

        }
    }
}

2:序列化:


上一篇下一篇

猜你喜欢

热点阅读