黑马程序员技术交流社区
标题:
关于文件读取问题
[打印本页]
作者:
成果
时间:
2012-2-4 12:40
标题:
关于文件读取问题
FileInputStream fin = new FileInputStream("D:/cosmo.jpg");//改为 txt格式能正常复制
FileOutputStream fout = new FileOutputStream("F:/cosmo.jpg");//改为 txt格式能正常复制
int len = 0;
while ((len = fin.read()) != -1) {
fout.write(len);
}
fin.close();
fout.close();
为什么我这代码能复制txt文件,但是非曲直doc,图片之类的就会出现乱码。
该贴已经同步到
寻找幸福的13狼的微博
作者:
黑马唐浩
时间:
2012-2-4 13:02
应该行啊,不都是操作字节流么。
我刚才试了试,行啊。
作者:
成果
时间:
2012-2-4 13:12
我试了很多次复制doc.和图片。显示出来的为乱码。是不是哪个地方丢失了数据导致的?
作者:
梅雄新
时间:
2012-2-4 13:18
楼主图片,doc等都是二进制存储的,运用字节流是可以复制成功的
相同代码
import java.io.*;
public class Pic
{
public static void main(String args[]) throws Exception
{
int temp = 0;
FileInputStream fin = new FileInputStream("d:/file/1.doc");
FileOutputStream fot = new FileOutputStream("d:/2222.doc");
while((temp = fin.read())!=-1)
{
fot.write(temp);
}
fin.close();
fot.close();
}
}
我试了图片,和doc都能正常显示的,再试试
作者:
郭繁森
时间:
2012-2-4 13:19
import java.io.*;
class Test
{
public static void main(String[] args)throws IOException
{
FileInputStream fin = new FileInputStream("E:/000.jpg");
FileOutputStream fout = new FileOutputStream("00.jpg");
int len = 0;
while ((len = fin.read()) != -1)
{
fout.write(len);
}
fin.close();
fout.close();
}
}
同楼上,你的代码能可以复制jpg的
你是不是编译后运行的是上个class是文件
作者:
梅雄新
时间:
2012-2-4 13:25
楼主图片,doc等都是二进制存储的,运用字节流是可以复制成功的
相同代码
import java.io.*;
public class Pic
{
public static void main(String args[]) throws Exception
{
int temp = 0;
FileInputStream fin = new FileInputStream("d:/file/1.doc");
FileOutputStream fot = new FileOutputStream("d:/2222.doc");
while((temp = fin.read())!=-1)
{
fot.write(temp);
}
fin.close();
fot.close();
}
}
我试了图片,和doc都能正常显示的,再试试
作者:
张伟~
时间:
2012-2-4 13:45
试了下,用你这代码确实可以复制图片的,不过你这没加缓冲速度也太慢了点。
作者:
成果
时间:
2012-2-4 14:14
我试了一个简单的doc是行。但我换成一个我下载的基础试题这个doc就不行。
作者:
成果
时间:
2012-2-4 14:28
谢谢各位了。。已解决。原来是自己的问题。我用另一个byte[]读取时把值更改错误了。
作者:
郭繁森
时间:
2012-2-10 11:55
那就把问题改为已解决
同学
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2