1. 程式人生 > 實用技巧 >2020.8.8第三十三天

2020.8.8第三十三天

1.今天覆習第十二章

工具類

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

2.遇到的問題:程式碼有點看不懂

3.明天繼續學習Java