A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bowen-xiao 中级黑马   /  2015-1-19 13:46  /  898 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.                 /**
  2.                  * 需求:用字节流拷贝图片
  3.                  * 如果用字符流实现,可能会出现图片打不开
  4.                  * (字符流每读取到数据会去查码表进行相应的转换)
  5.                  * @throws Exception
  6.                  * @since JDK 1.6
  7.                  */
  8.                         public void copyPic() throws Exception{
  9.                                 FileInputStream fis = new FileInputStream("c:\\myEclipse.jpg");
  10.                                 FileOutputStream fos = new FileOutputStream("c:\\copy_myEclipse.jpg");
  11.                                 int leng = 0;
  12.                                 byte[] tep = new byte[1024];
  13.                                 while((leng=fis.read(tep))!=-1){
  14.                                         fos.write(tep, 0, leng);
  15.                                 }
  16.                                 fis.close();
  17.                                 fos.close();
  18.                         }
  19.                        
  20.         /**
  21.          * 需求:用还缓冲区的字节流拷贝mp3
  22.          *
  23.          * @throws Exception
  24.          * @since JDK 1.6
  25.          */
  26.         public void copyMp3() throws Exception {
  27.                 FileInputStream fis = new FileInputStream("c:\\test.mp3");
  28.                 FileOutputStream fos = new FileOutputStream("c:\\copy_test.mp3");
  29.                 BufferedInputStream fdis = new BufferedInputStream(fis);
  30.                 BufferedOutputStream fdos = new BufferedOutputStream(fos);

  31.                 int leng = 0;
  32.                 byte[] tep = new byte[1024];
  33.                 while ((leng = fdis.read(tep)) != -1) {
  34.                         fdos.write(tep, 0, leng);
  35.                 }
  36.                 fdis.close();
  37.                 fdos.close();
  38.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

1 个回复

倒序浏览
代码简写一下
  1. public void inAoutTest3() throws Exception {
  2. //                先接收键盘录入
  3. //                创建一个转化流,把字节流转换成字符流
  4. //                创建字符流缓冲区,为提高读取效率
  5.                 BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
  6.                
  7. //                用同样的方法创建带字符流转换缓冲输出流

  8.                 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
  9.                
  10.                 String stb = null;
  11.                
  12.                 while((stb = bfr.readLine()) != null){
  13.                         if("over".equals(stb)){
  14.                                 bfr.close();
  15.                                 System.exit(0);
  16.                         }
  17. //                        System.out.println(stb.toUpperCase());
  18. //                        下面写法与上面效果一样
  19.                         bw.write(stb.toUpperCase());
  20.                         bw.newLine();
  21.                         bw.flush();
  22.                 }
  23.                
  24.                
  25.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马