• 2020.8.6


    一、今日学习内容

       1、综合实例:工具类

      1 package study1;
      2 import java.io.*;
      3 public class IOUtils {
      4     public static void main(byte[] ary) {
      5         //byte[] ary={41,4,-2,(byte)0xfe,(byte)0xff};
      6         for(int b:ary) {
      7             b&=0xff;
      8             if(b<=0xf)
      9                 System.out.print("0");
     10             System.out.print(Integer.toHexString(b)+" ");
     11         }
     12         System.out.println();
     13     }
     14     public static byte[] read(String file) {
     15         try {
     16             InputStream  in=new FileInputStream(file);
     17             byte[] buf=new byte[in.available()];
     18             in.read(buf);
     19             in.close();
     20             return buf;
     21         }catch(IOException e) {
     22             e.printStackTrace();
     23             throw new RuntimeException(e);
     24         }
     25     }
     26     public static Object deepCopy(Object obj) {
     27         try {
     28             ByteArrayOutputStream buf=new ByteArrayOutputStream();
     29             ObjectOutputStream oos=new ObjectOutputStream(buf);
     30             oos.writeObject(obj);
     31             oos.close();
     32             byte[] ary=buf.toByteArray();
     33             ObjectInputStream ois=new ObjectInputStream(new ByteArrayInputStream(ary));
     34             Object o=ois.readObject();
     35             ois.close();
     36             return o;
     37         }catch(Exception e) {
     38             throw new RuntimeException(e);
     39         }
     40     }
     41     public static void cp(File from,File to) {
     42         try {
     43             InputStream in=new FileInputStream(from);
     44             OutputStream out=new FileOutputStream(to);
     45             byte[] buf=new byte[1024];
     46             int n;
     47             while((n=in.read(buf))!=-1) {
     48                 //System.out.println("n:"+n);
     49                 out.write(buf,0,n);
     50             }
     51             in.close();
     52             out.close();
     53         }catch(IOException e) {
     54             e.printStackTrace();
     55             throw new RuntimeException(e);
     56         }
     57     }
     58     public static void cpl(File from,File to) {
     59         try {
     60             InputStream in=new FileInputStream(from);
     61             OutputStream out=new FileOutputStream(to);
     62             int b;
     63             while((b=in.read())!=-1) {
     64                 out.write(b);
     65             }
     66             in.close();
     67             out.close();
     68         }catch(IOException e) {
     69             e.printStackTrace();
     70             throw new RuntimeException(e);
     71         }
     72     }
     73     public static void cp(String from,String to) {
     74         cp(new File(from),new File(to));
     75     }
     76     public static void print(File file) {
     77         try {
     78             InputStream in=new FileInputStream(file);
     79             int b;
     80             int i=1;
     81             while((b=in.read())!=-1) {
     82                 if(b<=0xf)
     83                     System.out.print("0");
     84                 System.out.print(Integer.toHexString(b)+" ");
     85                 if(i++ % 16==0) {
     86                     System.out.println();
     87                 }
     88             }
     89             System.out.println();
     90             in.close();
     91         }catch(IOException e) {
     92             e.printStackTrace();
     93             throw new RuntimeException(e);
     94         }
     95     }
     96     public static void print(String file) {
     97         print(new File(file));
     98     }
     99     public static void split(String file,int size) {
    100         try {
    101             if(size<=0) {
    102                 throw new IllegalArgumentException("搞啥呀!");
    103             }
    104             int idx=0;
    105             InputStream in=new BufferedInputStream(new FileInputStream(file));
    106             OutputStream out=new BufferedOutputStream(new FileOutputStream(file+"."+idx++));
    107             int b;
    108             int count=0;
    109             while((b=in.read())!=-1) {
    110                 out.write(b);
    111                 count++;
    112                 if(count % (size *1024)==0) {
    113                     out.close();
    114                     out=new BufferedOutputStream(new FileOutputStream(file+"."+idx++));
    115                 }
    116             }
    117             in.close();
    118             out.close();
    119         }catch(IOException e) {
    120             e.printStackTrace();
    121             throw new RuntimeException(e);
    122         }
    123     }
    124     public static void join(String file) {
    125         try {
    126             String filename=file.substring(0,file.lastIndexOf(","));
    127             String num=file.substring(file.lastIndexOf(".")+1);
    128             int idx=Integer.parseInt(num);
    129             OutputStream out=new FileOutputStream(filename);
    130             File f=new File(filename+"."+idx++);
    131             while(f.exists()){
    132                 InputStream in=new FileInputStream(f);
    133                 cp(in, out);
    134                 in.close();
    135                 f=new File(filename+"."+idx++);
    136             }
    137             out.close();
    138         }catch(IOException e) {
    139             e.printStackTrace();
    140             throw new RuntimeException(e);
    141         }
    142     }
    143     public static void cp(InputStream in,OutputStream out)throws IOException{
    144         byte[] buf=new byte[1024*512];
    145         int count;
    146         while((count =in.read(buf))!=-1) {
    147             //System.out.println(count);
    148             out.write(buf,0,count);
    149         }
    150         out.flush();
    151     }
    152  }

    二、遇到的问题

        对这段代码有些部分不太明白

    三、明日计划

        复习第十二章内容并开始用Java语言写c++的例题

  • 相关阅读:
    webpack操作整理——主要是配置文件的配置
    排序算法_10种经典排序整合
    Spring MVC & Mybatis 模拟总结
    Vue_组件通信完整整理
    Mybaits封装
    Spring交互层框架
    Vue 组件反刍
    Vue整体反刍
    Spring容器框架
    基于ptcms的小说站搭建,及网站无法install ,404或后台验证码 404情况的解决
  • 原文地址:https://www.cnblogs.com/wmdww/p/13446578.html
Copyright © 2020-2023  润新知