ファイルの簡単な操作(続き):IOストリームの応用


今日はファイルの簡単な操作を学び続けましたが、今日の内容は主にI/Oストリームの操作に集中しています.
1.java.io.FileInputStream
  ファイルシステム内のファイルから入力バイトを取得し、これらのデータを操作するクラスです.クラス自体は、入力ストリームを含むInputStreamにすべてのリクエストを渡すすべてのメソッドを簡単に書き換えるだけです.
2.java.io.FileOutputStream
  ファイル出力ストリームは、FileまたはFileDescriptorにデータを書き込むための出力ストリームであり、一部のプラットフォームでは一度に1つのFileOutputStream(または他のファイル書き込みオブジェクト)だけがファイルを開いて書き込みを許可するプラットフォームもあります.
3.IOストリームの簡単な応用:ファイルコピー
  1ファイルをコピーするクラス
/**
	 *        
	 * @param oPath         
	 * @param aPath         
	 * @return   0           ,  1   
	 */
	public int copy(String oPath,String aPath){
		
		//                 ,    
		java.io.File file = new java.io.File(oPath);
		boolean b = file.isDirectory();
		if(b){
			System.out.println("  !         ");
			return 0;
		}
		Boolean b1 = file.exists();
		if(b1){
			System.out.println("  !        ");
			return 0;
		}
		try {
			//                 
			java.io.FileInputStream fis = new java.io.FileInputStream(oPath);
			//                 
			java.io.FileOutputStream fos = new java.io.FileOutputStream(aPath);
			
			// fis       
			int data = fis.read();
			
			//  fis     ,         fos
			while(data!=-1){
				fos.write(data);
				data = fis.read();
			}
			System.out.println("    ,    ...");
			//                    
			fos.flush();
			//        
			fis.close();
			fos.close();
			
		} catch (Exception e) {
			e.printStackTrace();
		}	
		return 1;
	}

  2検出用クラス
public static void main(String[] args) {

		//          
		copyFile cf = new copyFile();
		//            
		String oPath = "D:\\hw\\workspace.rar";
		String aPath = "D:\\hw\\workspace1.rar";
		
		//       
		cf.copy(oPath, aPath);

	}