代码并没有给全,我补了一些测试了一下,基本上没什么问题。
10,11行图片无法显示是因为你定义了一个buf的空数组,并没有写入数据就直接用空数组写出数据了。
代码更正如下:
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- public class Test {
- public static void main(String[] args) throws Exception {
-
- FileOutputStream fos = null;
- FileInputStream fis = null;
- try
- {
- fos = new FileOutputStream("c:\\shuaige.jpg");
- fis = new FileInputStream("c:\\1.jpg");
-
- byte[] buf = new byte[fis.available()];//图片为什么会无法显示
- fis.read(buf);
- fos.write(buf);
- /*byte[] buf = new byte[1024];
- int len = 0;
- while((len=fis.read(buf))!=-1)
- {
- fos.write(buf,0,len);
-
- }*/
- }catch(Exception e) {
- e.printStackTrace();
- }
- }
- }
复制代码 |