例1:FileOutputStream
package day01;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
/**
* java.io.FileOutputStream
* 用于向文件中写出字节的字节输出流。
* 这是一个低级流。
* 满足低级流特点:写出的数据目的地明确(文件中)。
* 真实将数据写入文件中。
* @author Administrator
*
*/
public class FileOutputStreamDemo1 {
public static void main(String[] args) throws IOException {
/*
* FOS创建的第一种模式:覆盖写操作 默认创建出来的FOS就是覆盖写操作。意思是通过该流写出的文件会先将文件中所有已有数据移除,重新写入新内容。
* FOS创建的第二种模式:追加写操作需要在构造方法中添加第二个参数:FileOutputStream(String path,boolean append)
* 第二个参数若为true,就是追加写模式,通过该流写出的数据会追加到当前文件末尾
*/
FileOutputStream fos
= new FileOutputStream(
"fos.txt",true
);
String str = "我爱北京天安门";
byte[] data = str.getBytes("UTF-8");
fos.write(data);
System.out.println("写出完毕");
/*
* 流使用完毕后要关闭,来释放资源。
*/
fos.close();
}
}
例2:FileInputStream
package day01;
import java.io.FileInputStream;
import java.io.IOException;
/**
* java.io.FileInputStream
* 用于从文件中读取数据的流,同样的是一个低级流。
* @author Administrator
*
*/
public class FileInputStreamDemo1 {
public static void main(String[] args) throws IOException {
FileInputStream fis
= new FileInputStream(
"fos.txt"
);
byte[] data = new byte[100];
int len = fis.read(data);
String str
= new String(data,0,len,"UTF-8");
System.out.println(str);
fis.close();
}
}
运行结果:
我爱北京天安门
例3:用FileInputStream 和FileOutputStream复制MP3.
package day01;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 使用文件流的形式复制文件
*/
public class CopyDemo3 {
public static void main(String[] args) throws IOException {
FileInputStream fis= new FileInputStream("草原歌曲 - 我要去西藏.mp3");
FileOutputStream fos= new FileOutputStream("草原歌曲 - 我要去西藏cc.mp3");
byte[] buf = new byte[1024*10];
int len = -1;
while((len=fis.read(buf))!=-1){
fos.write(buf,0,len);
}
System.out.println("复制完毕!");
fis.close();
fos.close();
}
}