java io 3

例五:ObjectStream的应用
  1. import java.io.FileInputStream;  
  2. import java.io.FileNotFoundException;  
  3. import java.io.FileOutputStream;  
  4. import java.io.IOException;  
  5. import java.io.ObjectInputStream;  
  6. import java.io.ObjectOutputStream;  
  7. import java.io.Serializable;  
  8.   
  9. <span style="color: rgb(51, 153, 102);">/** 
  10.  * 对 象的写入和读取 
  11.  * @author ec06cumt 
  12.  * 
  13.  */</span>  
  14. public class TestObjectStream {  
  15.   
  16.     <span style="color: rgb(51, 153, 102);">/** 
  17.      * @param args 
  18.      */</span>  
  19.     public static void main(String[] args) {  
  20.           
  21.         T t=new T();  
  22.         t.k=10;  
  23.           
  24.         try {  
  25.             FileOutputStream fos=new FileOutputStream("D:/testObjectIo.bak");  
  26.             ObjectOutputStream oos=new ObjectOutputStream(fos);  
  27.             oos.writeObject(t);  
  28.             oos.flush();  
  29.             oos.close();  
  30.               
  31.             FileInputStream fis=new FileInputStream("D:/testObjectIo.bak");  
  32.             ObjectInputStream bis=new ObjectInputStream(fis);  
  33.             T tReader= (T) bis.readObject();  
  34.             System.out.println(tReader.i + " " +tReader.j + " "+tReader.d + " " + tReader.k);  
  35.               
  36.         } catch (FileNotFoundException e) {  
  37.             e.printStackTrace();  
  38.         }catch(IOException e1){  
  39.             e1.printStackTrace();  
  40.         }catch(ClassNotFoundException e2){  
  41.             e2.printStackTrace();  
  42.         }  
  43.     }  
  44.       
  45. }  
  46.   
  47. class T implements Serializable{  
  48.     int i=2;  
  49.     int j=4;  
  50.     double d=2.5;  
  51.     transient int k=15;  
  52. //   int k=15;  
  53. }  
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; /** * 对象的写入和读取 * @author ec06cumt * */ public class TestObjectStream { /** * @param args */ public static void main(String[] args) { T t=new T(); t.k=10; try { FileOutputStream fos=new FileOutputStream("D:/testObjectIo.bak"); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(t); oos.flush(); oos.close(); FileInputStream fis=new FileInputStream("D:/testObjectIo.bak"); ObjectInputStream bis=new ObjectInputStream(fis); T tReader= (T) bis.readObject(); System.out.println(tReader.i + " " +tReader.j + " "+tReader.d + " " + tReader.k); } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e1){ e1.printStackTrace(); }catch(ClassNotFoundException e2){ e2.printStackTrace(); } } } class T implements Serializable{ int i=2; int j=4; double d=2.5; transient int k=15; // int k=15; }

 

 

 

 例六:文件的目录复制

 

 

  1. import java.io.File;  
  2. import java.io.FileInputStream;  
  3. import java.io.FileNotFoundException;  
  4. import java.io.FileOutputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;  
  8.   
  9.   
  10. public class JavaIoCopyFile {  
  11.   
  12.     <span style="color: rgb(51, 153, 102);">/** 
  13.      * Author:liugao ec06-2 cumt 
  14.      * @param args 
  15.      */</span>  
  16.     public static void main(String[] args) {  
  17.           
  18.         File sourceFile=new File("D:/test");  
  19.         File targetFile=new File("F:/jstl");  
  20.         copy(sourceFile,targetFile);  
  21.           
  22.     }  
  23.   
  24.     private static void copy(File sourceFile, File targetFile) {  
  25.         File tarpath=new File(targetFile,sourceFile.getName());  
  26.         if(sourceFile.isDirectory()){  
  27.             tarpath.mkdir();  
  28.             File[] dir=sourceFile.listFiles();  
  29.             for(int i=0;i<dir.length;i++){  
  30.                 copy(dir[i],tarpath);  
  31.             }  
  32.         }else{  
  33.             try {  
  34.                 InputStream is=new FileInputStream(sourceFile);  
  35.                 OutputStream os=new FileOutputStream(tarpath);  
  36.                   
  37.                 byte[] buf=new byte[1024];  
  38.                 int len=0;  
  39.                 while((len= is.read(buf))!=-1){  
  40.                     os.write(buf);  
  41.                 }  
  42.                 System.out.println("复制完成");  
  43.                 is.close();  
  44.                 os.close();  
  45.                   
  46.             } catch (FileNotFoundException e) {  
  47.                 e.printStackTrace();  
  48.             }catch(IOException e1){  
  49.                 e1.printStackTrace();  
  50.             }  
  51.         }  
  52.     }  
  53.       
  54.       
  55.   
  56. }  
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class JavaIoCopyFile { /** * Author:liugao ec06-2 cumt * @param args */ public static void main(String[] args) { File sourceFile=new File("D:/test"); File targetFile=new File("F:/jstl"); copy(sourceFile,targetFile); } private static void copy(File sourceFile, File targetFile) { File tarpath=new File(targetFile,sourceFile.getName()); if(sourceFile.isDirectory()){ tarpath.mkdir(); File[] dir=sourceFile.listFiles(); for(int i=0;i<dir.length;i++){ copy(dir[i],tarpath); } }else{ try { InputStream is=new FileInputStream(sourceFile); OutputStream os=new FileOutputStream(tarpath); byte[] buf=new byte[1024]; int len=0; while((len= is.read(buf))!=-1){ os.write(buf); } System.out.println("复制完成"); is.close(); os.close(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch(IOException e1){ e1.printStackTrace(); } } } }

 

 常用的也就是这些方法吧。。。。

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; /** * * @author ec06cumt * */ public class TestDataStream { /** * @param args */ public static void main(String[] args) { ByteArrayOutputStream bos=new ByteArrayOutputStream(); DataOutputStream dos=new DataOutputStream(bos); try { // dos.writeFloat((float) Math.random()); // dos.writeLong((long) Math.random()); // dos.writeDouble((double) Math.random()); // dos.writeChar((char) Math.random()); dos.writeShort((short) Math.random()); dos.writeBoolean(true); //注意ByteArrayInputStream的构造方法是参数要是一个数组 ByteArrayInputStream bais=new ByteArrayInputStream(bos.toByteArray()); DataInputStream dis=new DataInputStream(bais); System.out.println(dis.available()); //System.out.println(dis.readDouble()); // System.out.println(dis.readInt()); // System.out.println(dis.readFloat()); // System.out.println(dis.readDouble()); // System.out.println(dis.readChar()); System.out.println(dis.readShort()); System.out.println(dis.readBoolean()); bos.close(); bais.close(); } catch (IOException e) { e.printStackTrace(); } } }

 

posted on 2010-02-25 13:47  dhj  阅读(122)  评论(0编辑  收藏  举报

导航