InputStream 和OutputStream
第一种方式:使用字节输出流建立一个文件并存储一些数据
FileOutputStream fos = new FileOutputStream("fos.txt");
fos.write("abcdsjfl".getBytes()); //getBytes()将字符串转化成字节存储到byte数组中
fos.close(); // 关闭资源
InputStream :
FileInputStream fis = new FileInputStream("fos.txt");
byte[] buf = new byte[1024];
int len = 0;
while((len=fis.read(buf))!=-1){
System.out.println(new String(buf,0,len));
}
第二种方式:
FileInputStream fis = new FileInputStream("fos.txt");
int by = 0;
while((by=fis.read())!=-1){
System.out.println((char)by);
}
第三中方式:
FileInputStream fis = new FileInputStream("fos.txt");
byte[] buf = new byte[fis.available()];//文件体积过大,会内存溢出。
fis.read(buf);
//复制图片
FileInputStream fis = new FileInputStream("d:\\java32\\day17\\ma.JPG");
FileOutputStream fos = new FileOutputStream("d:\\ma.bmp");
byte[] buf = new byte[1024];
int len = 0;
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
fos.close();
fis.close();
字节流缓冲区:
FileInputStream fis = new FileInputStream("c:\\0.mp3");
BufferedInputStream bufis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream("c:\\1.mp3");
BufferedOutputStream bufos = new BufferedOutputStream(fos);
int temp = 0;
while((temp=bufis.read())!=-1)
{
bufos.write(temp);
}
bufos.close();
bufis.close();
字节流缓冲区原理注意事项:
read方法读取了一个字节是连续的8个1。正好是-1.那么循环就停止了。
为什么,字节读取流的