读写二进制文件

1.使用字节流读二进制文件

  • 利用 DataInputStream 类读二进制文件
  • 与利用 FileInputStream 类读文本文件极其相似
  • 也要用到 FileInputStream 类关联二进制文件
  • 具体操作步骤如下
//引入相关的类
import java.io.FileInputStream;
import java.io.DataInputStream;
import java.io.IOException;
public class DataInputStreamTest {public static void main(String[] args){//构造一个数据输入流对象FileInputStream fis=null;DataInputStream dis=null;try{fis=new FileInputStream("d:\\tttest\\DataInputStreamTest.class");dis=new DataInputStream(fis);//利用数据输入流类的方法读取二进制文件中的数据dis.readInt();  //读取出来的是整数dis.readByte();//读取出来的数据是Byte类型}catch (IOException ioe){ioe.getStackTrace();}try{//关闭数据输入流dis.close();fis.close();}catch (IOException ioe){ioe.getStackTrace();}}
}

2.使用字节流写二进制文件

  • 利用 DataOutputStream 类读二进制文件
  • 与利用 FileOutputStream 类读文本文件极其相似
  • 也要用到 FileOutputStream 类关联二进制文件
  • 具体操作步骤如下
//引入相关的类
import java.io.FileOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;public class DataOutputStreamTest {public static void main(String[] args){//构造一个数据输出流对象FileOutputStream fos=null;DataOutputStream dos=null;try{fos=new FileOutputStream("d:\\tttest\\DataOutputStreamTest.class");dos=new DataOutputStream(fos);//利用数据输出流类的方法把数据写入二进制文件dos.write(1);}catch(IOException ioe){ioe.getStackTrace();}try{//关闭数据输出流dos.close();fos.close();}catch(IOException ioe){ioe.getStackTrace();}}
}

3.实现一个二进制文件中读取数据,然后复制到另一个二进制文件中

import java.io.FileInputStream;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
public class DataInputStreamTest {public static void main(String[] args){FileInputStream fis=null;DataInputStream dis=null;FileOutputStream fos=null;DataOutputStream dos=null;try{fis=new FileInputStream("d:\\tttest\\DataInputStreamTest.class");dis=new DataInputStream(fis);fos=new FileOutputStream("d:\\tttest\\DataOutputStreamTest.class");dos=new DataOutputStream(fos);int temp;while((temp=dis.read())!=-1){dos.write(temp);}}catch (IOException ioe){ioe.getStackTrace();}try{dis.close();fis.close();dos.close();fos.close();}catch (IOException ioe){ioe.getStackTrace();}}
}
  • DataInputStream 类和 DataOutputStream 类搭配使用,可以按照与平台无关的方式从流中读取基本数据类型的数据
    • int
    • float
    • long
    • double
    • boolean
  • DataInputStreamreadUTF() 方法能读取采用 UTF-8 字符集编码的字符串
    • dis.readByte()
    • dis.readLong()
    • dis.readChar()
    • dis.readUTF()
  • DataOutputStream 类可以按照与平台无关的方式向流中写入基本数据类型的数据
    • int
    • float
    • long
    • double
    • boolean
  • DataOutputStream 类的所有写方法都是以 write 开头
    • dos.writeByte(1)
    • dos.writeLong(2)
    • dos.writeChar(‘c’)
    • dos.writeUTF(“HELLO”)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部