关于java IO流的问题 FileInputStream 与 FileOutputStream 只能复制文本,不能复制图片或视频 20
importjava.io.*;/**分析:*InputStream是通过字节的形式传输数据的,最大是8位,*故可以用一个byte型数据来接受*亦可以用将一个byte数据...
import java.io.*;
/*
* 分析:
* InputStream是通过字节的形式传输数据的,最大是8位,
* 故可以用一个byte型数据来接受
* 亦可以用将一个byte数据类型的数据写到文件中
* 问题:
* 1.以上分析正确么?
* 2.如果正确,下面的代码出现了问题.
* 只能复制文本文件,不能复制音频和图片.
* 希望大神们能把原理说的清楚点
* */
public class Test{
public static void main(String[] args) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis=new FileInputStream("encrypt.jpg");
fos=new FileOutputStream("d:/encrypt.jpg");
byte b;//声明一个 byte型变量 用来接收读出来的数据
while((b=(byte)fis.read())!=-1){//读数据
fos.write(b);//将读出的数据写到其他文件中
}
}finally{//关闭
try{
fis.close();
}finally{
fos.close();
}
}
} 展开
/*
* 分析:
* InputStream是通过字节的形式传输数据的,最大是8位,
* 故可以用一个byte型数据来接受
* 亦可以用将一个byte数据类型的数据写到文件中
* 问题:
* 1.以上分析正确么?
* 2.如果正确,下面的代码出现了问题.
* 只能复制文本文件,不能复制音频和图片.
* 希望大神们能把原理说的清楚点
* */
public class Test{
public static void main(String[] args) throws IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try{
fis=new FileInputStream("encrypt.jpg");
fos=new FileOutputStream("d:/encrypt.jpg");
byte b;//声明一个 byte型变量 用来接收读出来的数据
while((b=(byte)fis.read())!=-1){//读数据
fos.write(b);//将读出的数据写到其他文件中
}
}finally{//关闭
try{
fis.close();
}finally{
fos.close();
}
}
} 展开
2个回答
展开全部
对于FileOutputStream类中的方法,write呢只能有write(int b) write(byte[] b, int off, int len)
write(byte[] b)没有对byte接收的,可以将b设置成一个int 型 的数据。
write(byte[] b)没有对byte接收的,可以将b设置成一个int 型 的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询