美文网首页
二、javaIO流入门类图

二、javaIO流入门类图

作者: joy_蓝蜘蛛 | 来源:发表于2018-07-29 09:04 被阅读18次

    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:序列化:

    
    

    相关文章

      网友评论

          本文标题:二、javaIO流入门类图

          本文链接:https://www.haomeiwen.com/subject/uuhzmftx.html