Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1527395
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: Java

2014-10-16 10:03:01

package io2;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class IOUtils {

  public static void main(String[] args) throws IOException {
    FileOutputStream fos = 
      new FileOutputStream("src/test2.txt");
//用io流的构造方法来创建文件,可以立刻在硬盘直接创建文件
//如果以前有过同名的文件,直接覆盖,如果要追加内容
// new FileOutputStream("src/test2.txt",true);
    fos.write('A');
    fos.write('B');
    int a = -2;//0xfffffffe
//  11111111 11111111 11111111 11111110  
    fos.write(a>>>24);//ff
    fos.write(a>>16);//ff
    fos.write(a>>8);//ff
    fos.write(a);//fe
//  中国: 中: d6d0
    byte[] str = "中国".getBytes("GBK");
    fos.write(str);
    fos.flush();
    fos.close();
    printInput("src/test2.txt");
    copy2("c:/JDK_API_1_6_zh_CN.CHM","d:/JDK_API_1_6_zh_CN.CHM");
  } //输入流
  public static void printInput(String name) throws IOException{
//    创建输入流
    FileInputStream fis = new FileInputStream(name);
    int b ;
    int i = 1;
//把一个文件全部读取出来,结尾-1
    while((b=fis.read())!=-1){//在io当中最固定的格式
      System.out.print(Integer.toHexString(b)+" ");
      //每隔8个,换行
      if(i++%8==0){
        System.out.println();
      }
    }  
    fis.close();
  }
  
  //复制(第1版)性能太差
  public static void copy1(String src,String target) throws IOException{
//    输入流(读取文件内容)
    FileInputStream fis = new FileInputStream(src);
//    输出流(写文件内容)
    FileOutputStream fos = new FileOutputStream(target);
    int b ;
//把从输入流中读取的内容,写入到输出流中    
    while((b = fis.read())!=-1){
      fos.write(b);
    }
    fis.close();
    fos.close();
  }
  
//  复制(第2版),使用缓冲流,来提高性能
  public static void copy2(String src,String target) throws IOException{
//    输入流
    InputStream in = new 
 BufferedInputStream(new FileInputStream(src));
//  依赖:BufferedInputStream依赖于FileInputStream
    OutputStream out = new 
 BufferedOutputStream(new FileOutputStream(target));
    int b ;
    while((b = in.read())!=-1){
      out.write(b);
    }
    in.close();
    out.close();
  }

}

阅读(2035) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~