public static void main(String[] args) throws Exception
{
FileInputStream fis = null;
FileOutputStream fos = null;
fis = new FileInputStream("c:\\a\\1.jpg");
fos = new FileOutputStream("c:\\a\\2.jpg");
// 出处调用read方法是为了让下面的available方法能够返回所需字节数。
int firstChar = fis.read();
byte[] buf = new byte[fis.available()];
//这一步是因为上面已经执行了的int firstChar = fis.read()
buf[0] = (byte) firstChar;
int len = fis.read(buf,1,fis.available()-1);
fos.write(buf, 0, len);
fos.close();
fis.close();
}
}
复制代码
作者: 黑马唐浩 时间: 2012-2-6 23:02
并附上API一小份。
available
public int available()
throws IOException返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数。下一个调用方可能是同一个线程,也可能是另一个线程。
类 InputStream 的 available 方法总是返回 0。