资料的简单操作(续):IO流的应用

文件的简单操作(续):IO流的应用
今天继续学习了文件的简单操作,而今天得内容主要集中在I/O流的操作。
1.java.io.FileInputStream
  它是从文件系统中的某个文件中获得输入字节,从而对这些数据进行操作的类。类本身只是简单地重写那些将所有请求传递给所包含输入流的InputStream的所有方法。
2.java.io.FileOutputStream
  文件输出流是用于将数据写入File或FileDescriptor的输出流,而且某些平台一次只允许一个 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);

	}