日期:2014-05-20  浏览次数:20790 次

偶尔有缓冲区的概念,但是很想知道为什么,大家帮忙看看好么?
package com.filestream;
import java.io.*;

import javax.imageio.stream.FileImageInputStream;
public class FileStreamTest {

/**
* @param args
*/
public static void main(String[] args){
// TODO Auto-generated method stub
File f = new File("new.txt");
try{
FileOutputStream fos = new FileOutputStream(f); //输出流
byte[] bu = "www.baidu.com".getBytes(); 
fos.write(bu); 
fos.close();

FileInputStream fis = new FileInputStream(f); //输入流.
byte[] buf = new byte[1024];
int len = fis.read();
System.out.println(new String(buf,0,len));
}catch(Exception e){
e.printStackTrace();
}

}

}
警告说:The import javax.imageio.stream.FileImageInputStream is never used
这是我用eclipse运行的,“console”那里没有什么结果,我查看我磁盘目录,有生成“new.txt”和相关的字符串,但是偶尔运行,请问高手这是怎么情况么?

------解决方案--------------------
int len = fis.read();这里貌似只读了一个byte吧,应该用read(buf)吧
------解决方案--------------------
补充3楼的!int len = fis.read();这里貌似只读了一个byte吧,应该用read(buf)吧!而且你的输入流没有关闭-> 这样很危险的,以后你的文件或者电脑可能蓝屏。应该在读完之后,fis.close;否则有时读入的是一部分。