public class 字节输出流 {
public static void main(String[] args) throws Exception {
//创建一个字节输出流对象,第二个参数默认为false(覆盖),为true(追加)
OutputStream outputStream = new FileOutputStream("a.txt");
//向流中写入数据
outputStream.write("我是阿常".getBytes());
//关闭流
outputStream.close();
}
}
运行结果
ASCII写入
public class 字节输出流 {
public static void main(String[] args) throws Exception {
//创建一个字节输出流对象,第二个参数默认为false(覆盖),为true(追加)
OutputStream outputStream = new FileOutputStream("a.txt");
//整数为ASCII码
outputStream.write(97);
//关闭流
outputStream.close();
}
}
运行结果
指定长度写入
public class 字节输出流 {
public static void main(String[] args) throws Exception {
//创建一个字节输出流对象,第二个参数默认为false(覆盖),为true(追加)
OutputStream outputStream = new FileOutputStream("a.txt");
// outputStream.write(97);
outputStream.write("abcdefg".getBytes(),0,3);
//关闭流
outputStream.close();
}
}
运行结果
追加写入
public class 字节输出流 {
public static void main(String[] args) throws Exception {
//创建一个字节输出流对象,第二个参数默认为false(覆盖),为true(追加)
OutputStream outputStream = new FileOutputStream("a.txt",true);
//向流中写入数据
outputStream.write("我是阿常".getBytes());
//关闭流
outputStream.close();
}
}
运行结果
五、字节输入流代码演示
将a.txt中的内容读到内存中
public class 字节输入流 {
public static void main(String[] args) throws Exception {
//创建字节输入流对象
InputStream inputStream = new FileInputStream("a.txt");
//读取文件内容到内存(-1表示没有内容读取了)
byte[] bytes = new byte[1024];
//将内容读取到传入的字节数组中
int len=0;
while ((len=inputStream.read(bytes))!=-1){
System.out.println("读到内存中的内容为--->"+new String(bytes,0,len));
}
inputStream.close();
}
}
运行结果
六、字节流复制功能代码演示
将a.txt中的内容复制到b.txt中
//字节流复制文件
public class 文件复制 {
public static void main(String[] args) throws Exception {
//计算复制开始时间
long t1 = System.currentTimeMillis();
//1、创建一个字节输入流读取文件信息
InputStream in = new FileInputStream("a.txt");
//2、创建一个字节输出流将内存中的信息写到指定文件中
FileOutputStream out = new FileOutputStream("b.txt");
byte[] bytes = new byte[1024];
int len;
while ((len=in.read(bytes))!=-1){
out.write(bytes,0,len);
}
out.close();
in.close();
//计算文件复制结束时间
long t2 = System.currentTimeMillis();
System.out.println("文件复制时间为:"+(t2-t1)/1000+"秒");
}
}