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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张庚 中级黑马   /  2013-2-9 15:55  /  1196 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JAVA新手,想写个程序实现文件传输,但是在测试IO流的时候就出现了问题。在读写JPG之类的文件时没问题,但是在读写TXT,DOC之类的文档时就会出现异常,异常情况为新写出来的TXT比原来的TXT要大,好像是因为有很多空字符填充了空间。贴上源码:import java.io.*;public class Inttt { public static void main(String[] args) {  String name1="F:\\我的文档\\123.jpg";  String name2="F:\\我的文档\\555.jpg";  try {   BufferedInputStream in = new BufferedInputStream(     new FileInputStream(name1));   BufferedOutputStream out = new BufferedOutputStream(     new FileOutputStream(name2));   int buffer = 8192;   byte[] bt = new byte[buffer];   int read;   if (in != null) {    while (true) {     if ((read = in.read(bt,0,bt.length)) != -1) {      out.write(bt,0,read);     }else{      break;     }    }   }   in.close();  } catch (Exception e) {  } }}求一能够传输任何文件的程序(不要出现异常的),也可以从源代码修改。高手救命啊!!!!

1 个回复

倒序浏览
试试改成 if(read=in.read(bt))!=-1)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马