黑马程序员技术交流社区
标题:
字节流的书写
[打印本页]
作者:
学习代码
时间:
2014-3-31 18:11
标题:
字节流的书写
import java.io.*;
class Demo
{
public static void main(String[] args)
{
FileInputStream fi= null;
FileOutputStream fo= null;
try
{
fi= new FileInputStream("f:\\1.jpg");
fo = new FileOutputStream("f:\\2.jpg");
char[] arr = new char[1024];
int len = 0;
while((len= fi.read(arr))!=-1)
{
fo.write(arr,0,len);
}
}
catch (Exception e)
{
throw new RuntimeException("shujuyichang");
}
finally
{
try
{
if(fi== null)
fi.close();
}
catch (Exception e)
{
throw new RuntimeException("shuchu shibai");
}
try
{
if(fo ==null)
fo.close();
}
catch (Exception e)
{
throw new RuntimeException("xieru shibai");
}
}
}
}
复制代码
为什么 会报错啊
作者:
清风木扬
时间:
2014-3-31 18:21
FileInputStream,FileOutputStream 属性字节流派。read(byte[] bts) read中要用字节数组,不能用字符数组。
write(byte[] bts)一样。
作者:
ノtrack
时间:
2014-3-31 18:23
byte[] arr = new byte[1024]; 即可
作者:
H-Deka
时间:
2014-4-1 06:29
字节流使用字节数组你使用的字符数组,还有关闭流操作时,你的if条件也有错,应该是!=null才关闭
作者:
zhangbingyuan
时间:
2014-4-1 09:37
从硬盘读取文件,使用FileInputStream,读取到的是字节流数据,是不能用字符数组来存的。 这是常识啊,比如你要拷贝mp3文件什么的,都得用字节流来读取数据的。 还有楼上说的,关闭流操作的时候你的判断条件写错了,应该是fis!=null;和fos!=null;
作者:
凌慕枫
时间:
2014-4-1 09:40
public class CopyPic {
public static void main(String[] args){
FileOutputStream fos = null;
FileInputStream fis = null;
try{
fis = new FileInputStream("D:\\1.jpg");
fos = new FileOutputStream("D:\\2.jpg");
byte[] by = new byte[1024];
int len = 0;
while((len=fis.read(by))!=-1){
fos.write(by,0,len);
}
}catch(IOException e){
throw new RuntimeException("复制文件失败");
}finally{
try{
if(fis!=null){
fis.close();
}
}catch(IOException e){
throw new RuntimeException("读取关闭失败失败");
}
try{
if(fos!=null){
fos.close();
}
}catch(IOException e){
throw new RuntimeException("写入关闭失败失败");
}
}
}
}
复制代码
作者:
凌慕枫
时间:
2014-4-1 09:44
FileInputStream 用于读取诸如图像数据之类的原始字节流
FileOutputStream 用于写入诸如图像数据之类的原始字节流
作者:
╰青青子佩ˊゝ
时间:
2014-4-1 09:52
有两个错误,看下面代码。
import java.io.*;
class Demo
{
public static void main(String[] args)
{
FileInputStream fi= null;
FileOutputStream fo= null;
try
{
fi= new FileInputStream("f:\\1.jpg");
fo = new FileOutputStream("f:\\2.jpg");
//1.这里的char改成byte.
byte[] arr = new byte[1024];
int len = 0;
while((len= fi.read(arr))!=-1)
{
fo.write(arr,0,len);
}
}
catch (Exception e)
{
throw new RuntimeException("shujuyichang");
}
finally
{
try
{
//2."=="改成"!=",下面fo==null也是改成fo!=null
if(fi!= null)
fi.close();
}
catch (Exception e)
{
throw new RuntimeException("shuchu shibai");
}
try
{
if(fo !=null)
fo.close();
}
catch (Exception e)
{
throw new RuntimeException("xieru shibai");
}
}
}
}
复制代码
作者:
刘先斌
时间:
2014-4-1 10:10
try
{
fi= new FileInputStream("f:\\1.jpg");
fo = new FileOutputStream("f:\\2.jpg");
char[] arr = new char[1024];---------------->第一次错误 byte[] by = new byte[1024];
int len = 0;
while((len= fi.read(arr))!=-1)
{
fo.write(arr,0,len);
}
}
catch (Exception e)
{
throw new RuntimeException("shujuyichang");
}
finally
{
try
{
if(fi== null)----------------〉第二次 if(fi!= null)
fi.close();
}
catch (Exception e)
{
throw new RuntimeException("shuchu shibai");
}
try
{
if(fo ==null)----------------〉 第三次 if(fo !=null)
fo.close();
}
catch (Exception e)
{
throw new RuntimeException("xieru shibai");
}
}
}
}
作者:
杨希
时间:
2014-4-1 16:06
char是字符类型,不适用于字节流,而图片是字节流的,所以用byte,把这里改完就好了
try
{
fi= new FileInputStream("1.bmp");
fo = new FileOutputStream("2.jpg");
byte[] arr = new byte[1024]; // byte类型
int len = 0;
while((len= fi.read(arr))!=-1)
{
fo.write(arr,0,len);
}
}
复制代码
作者:
ς高眼光の目标
时间:
2014-4-1 16:44
import java.io.*;
class Demo
{
public static void main(String[] args)
{
FileInputStream fi= null;
FileOutputStream fo= null;
try
{
fi= new FileInputStream("f:\\1.jpg");
fo = new FileOutputStream("f:\\2.jpg");
//char[] arr = new char[1024];
//int read(byte[] b) FileInputStream中的方法数组不是字符数组 是字节数组
byte[] arr =new byte[1024];
int len = 0;
while((len= fi.read(arr))!=-1)
{
fo.write(arr,0,len);
}
}
catch (Exception e)
{
throw new RuntimeException("shujuyichang");
}
finally
{
try
{
if(fi== null)
fi.close();
}
catch (Exception e)
{
throw new RuntimeException("shuchu shibai");
}
try
{
if(fo ==null)
fo.close();
}
catch (Exception e)
{
throw new RuntimeException("xieru shibai");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2