通过字节流来对文件进行读写操作

时间:2022-06-18 21:37:40
import java.io.*;
public class OutPutStreamDemo01 {

public static void main(String[] args) throws Exception{
File f=new File("C:\\Users\\xinle\\Desktop"+File.separator+"test.txt");//声明一个文件对象,该文件对象暂时创建于缓存当中
f.createNewFile();//在指定的路径下创建一个文件夹
OutputStream out=null;//声明一个输出流对象
out=new FileOutputStream(f);//创建文件f的输出流对象,进行对象的上转型操作(FileOutputStream类为OutputStream类的子类)
String str="HelloWorld!";
byte b[]=str.getBytes();//将一个字符串转化为一个字节数组
out.write(b);//将转换来的字节数组通过输出流写入到相应的文件当中去
out.close();//关闭文件输出流对象操作
//在指定的文件后面再追加新的内容
out=new FileOutputStream(f,true);//重新创建一个对象输出流来在指定的文件后面追加内容
str="bxl l zxq";
byte s[]=str.getBytes();
out.write(s);//将转变为字节数组的内容追加到指定文件当中去
out.close();
//将指定文件当中的内容读取出来
InputStream input=null;//声明一个输出流对象将文件当中的数据输出到操作台当中
input=new FileInputStream(f);//建立属于文件f的输出流操作
byte by[]=new byte[102];//开辟一个字节数组用于存放从文件当中读取的数据信息
input.read(by);//将读取到的信息存入到指定的字节数组当中
input.close();
//将字节数组当中的信息转变为字符串进行输出操作
System.out.print("内容为:"+new String(by)+"\n");
input.close();
//运行后发现在字符串的后面会有大量的空格字符串这是应为开辟的字节数组空间没有全部用完造成的
//要想改变该操作可以进行一下操作
byte byt[]=new byte [1024];
input=new FileInputStream(f);
int len=input.read(byt);//得到从字节数组当中取得的字节长度
System.out.println("读入数据的长度为:"+len);
System.out.println("内容为:"+new String(byt,0,len));
}

}

程序的运行结果为:

1:在指定的路径下创建相关的文件并将相应的内容写入到文件当中去

通过字节流来对文件进行读写操作

通过字节流来对文件进行读写操作

2:操作台当中的运行结果为:

通过字节流来对文件进行读写操作