//注意:当读到文件末尾的时候会返回-1.正常情况下是不会返回-1的。
public static void main(String[] args) throws IOException {
File f=new File("aaa.txt"); //定位文件位置
InputStream in=new FileInputStream(f); //创建字节输入流连接到文件
byte[] b=new byte[1024]; //定义一个数组,用来存放读入的数据 byte数组的大小也可以根据文件大小来定 (int)f.length()
int count =0;
int temp=0;
while((temp=in.read())!=(-1)){ //in.read()是逐字节读的。当读到文件末尾时候返回-1
b[count++]=(byte)temp; //将读到的字节存储到byte数组中
}
in.close(); //关闭流
System.out.println(new String(b)); //打印读取到的字节
}
//加入字节缓冲输入流,提高了读取效率
public static void main(String[] args) throws IOException {
File f=new File("aaa.txt"); //定位文件位置
InputStream in=new FileInputStream(f); //创建字节输入流连接到文件
BufferedInputStream bis=new BufferedInputStream(in); //创建缓冲字节流
byte[] b=new byte[1024]; //定义一个数组,用来存放读入的数据 byte数组的大小也可以根据文件大小来定 (int)f.length()
int count =0;
int temp=0;
bis.read();
while((temp=bis.read())!=(-1)){ //in.read()是逐字节读的。当读到文件末尾时候返回-1
b[count++]=(byte)temp; //将读到的字节存储到byte数组中
}
bis.close(); //关闭缓冲字节流
in.close(); //关闭流
System.out.println(new String(b)); //打印读取到的字节
}
//输出字节流OutputStream
//定义和结构说明:
//IO 中输出字节流的继承图可见上图,可以看出:OutputStream 是所有的输出字节流的父类,它是一个抽象类。
//ByteArrayOutputStream、FileOutputStream是两种基本的介质流,它们分别向Byte 数组、和本地文件中写入数据。
//PipedOutputStream 是向与其它线程共用的管道中写入数据,
//ObjectOutputStream 和所有FilterOutputStream的子类都是装饰流。具体跟InputStream是对应的。
public static void main(String[] args) throws IOException {
File f = new File("aaa.txt"); // 定位文件位置
OutputStream out = new FileOutputStream(f); // 创建字节输出流连接到文件
String str = "hhhhhhh";
byte[] b = str.getBytes(); //讲数据存入byte数组
out.write(b); //写数据
out.close(); //关闭流
}
复制代码
public static void main(String[] args) throws IOException {
File f = new File("aaa.txt"); // 定位文件位置
OutputStream out = new FileOutputStream(f); // 创建字节输出流连接到文件
BufferedOutputStream bos=new BufferedOutputStream(out);
String str = "hhhhhhh";
byte[] b = str.getBytes(); //讲数据存入byte数组
bos.write(b); //写数据
bos.close(); //关闭缓冲流
out.close(); //关闭流
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章