1. public static void readFile(String fileName){
  2. File file = new File(fileName);
  3. if(file.exists()){
  4. try {
  5. FileInputStream in = new FileInputStream(file);
  6. DataInputStream dis=new DataInputStream(in);
  7. byte[] itemBuf = new byte[20];
  8. //市场编码
  9. dis.read(itemBuf, 0, 8);
  10. String marketID =new String(itemBuf,0,8);
  11. //市场名称
  12. dis.read(itemBuf, 0, 20);//read方法读取一定长度之后,被读取的数据就从流中去掉了,所以下次读取仍然从 0开始
  13. String marketName =new String(itemBuf,0,20);
  14. //上一交易日日期
  15. dis.read(itemBuf, 0, 8);
  16. String lastTradingDay = new String(itemBuf,0,8);
  17. //当前交易日日期
  18. dis.read(itemBuf, 0, 8);
  19. String curTradingDay = new String(itemBuf,0,8);
  20. //交易状态
  21. dis.read(itemBuf, 0, 1);
  22. String marketStatus = new String(itemBuf,0,1);
  23. //交易时段数
  24. short tradePeriodNum = dis.readShort();
  25. System.out.println("市场代码:"+ marketID);
  26. System.out.println("市场名称:"+ marketName);
  27. System.out.println("上一交易日日期:"+ lastTradingDay);
  28. System.out.println("当前交易日日期:"+ curTradingDay);
  29. System.out.println("当前交易日日期:"+ curTradingDay);
  30. System.out.println("交易状态:"+ marketStatus);
  31. System.out.println("交易时段数:"+ tradePeriodNum);
  32. } catch (IOException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }finally{
  36. //close
  37. }
  38. }
  39. }
/**
  * 随机读取文件内容
  */
 public static void readFileByRandomAccess(String fileName) {
  RandomAccessFile randomFile = null;
  try {
   System.out.println("随机读取一段文件内容:");
   // 打开一个随机访问文件流,按只读方式
   randomFile = new RandomAccessFile(fileName, "r");
   // 文件长度,字节数
   long fileLength = randomFile.length();
   // 读文件的起始位置
   int beginIndex = (fileLength > 4) ? 4 : 0;
   // 将读文件的开始位置移到beginIndex位置。
   randomFile.seek(beginIndex);
   byte[] bytes = new byte[10];
   int byteread = 0;
   // 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。
   // 将一次读取的字节数赋给byteread
   while ((byteread = randomFile.read(bytes)) != -1) {
    System.out.write(bytes, 0, byteread);
   }
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   if (randomFile != null) {
    try {
     randomFile.close();
    } catch (IOException e1) {
    }
   }
  }
 }

Java读取二进制文件的方式的更多相关文章

  1. Java读取配置文件的方式

    Java读取配置文件的方式-笔记 1       取当前启动文件夹下的配置文件   一般来讲启动java程序的时候.在启动的文件夹下会有配置文件 classLoader.getResource(&qu ...

  2. JAVA读取PROPERTIES文件方式一

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...

  3. java 读取文件——按照行取出(使用BufferedReader和一次将数据保存到内存两种实现方式)

    1.实现目标 读取文件,将文件中的数据一行行的取出. 2.代码实现 1).方式1: 通过BufferedReader的readLine()方法. /** * 功能:Java读取txt文件的内容 步骤: ...

  4. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  5. Java 读取 .properties 文件的几种方式

    Java 读取 .properties 配置文件的几种方式   Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 ...

  6. spring利用注解方式实现Java读取properties属性值

    1. 建立properties文件:我在resource下面建立一个config文件夹,config文件夹里面有mytest.properties文件,文件内容如下: sam.username=sam ...

  7. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

  8. Java读取Level-1行情dbf文件极致优化(3)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

  9. Java读取Level-1行情dbf文件极致优化(2)

    最近架构一个项目,实现行情的接入和分发,需要达到极致的低时延特性,这对于证券系统是非常重要的.接入的行情源是可以配置,既可以是Level-1,也可以是Level-2或其他第三方的源.虽然Level-1 ...

随机推荐

  1. Python 的列表生成器

    列表生成器为创建列表提供了一种简洁的方式. 比如说,我们可以这样实现一个平方数列表 squares=[x**2 for x in range(10)] 或者这样迭代一个字符串来生成列表 >> ...

  2. [转] JavaScript学习:BOM和DOM的区别和关联

    BOM 1.  BOM是Browser Object Model的缩写,即浏览器对象模型. 2.  BOM没有相关标准. 3.  BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系 ...

  3. shadow配置文件及结果

  4. 使用canvas实现对图片的批量打码

    最近有个需求,利用h5的canvas对图片一些涉及个人隐私的地方进行打码再上传,而且最好能实现批量打码.意思是在一张图片上对哪些地方做了打码,后续的所有图片都在同样的地方也可以自动打上码,不用人工一张 ...

  5. java调用支付宝 支付api 【沙箱环境】

    由于支付宝支付api需要各种备案,但学校项目需要引入支付功能  先演示  ,所以采用 沙箱环境 一.登录支付宝 开放平台 及配置相关 https://openhome.alipay.com/platf ...

  6. 【Python开发】【神经网络与深度学习】网络爬虫之图片自动下载器

    python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk is cheap show ...

  7. 【VS开发】【智能语音处理】MATLAB 与 音频处理 相关内容摘记

    MATLAB 与 音频处理 相关内容摘记 MATLAB 与 音频处理 相关内容摘记 1 MATLAB 音频相关函数 1 MATLAB 处理音频信号的流程 2 音量标准化 2 声道分离合并与组合 3 数 ...

  8. 【VS开发】VC实现程序重启的做法

    转载地址:http://blog.csdn.net/clever101/article/details/9327597 很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启.所谓重启就是 ...

  9. MAS多媒体的整个存储架构是怎样的?

    MAS多媒体的整个存储架构是怎样的?

  10. 100+ Python挑战性编程练习(1)

    目前,这个项目已经获得了7.1k  Stars,4.1k Forks. 初级水平是指刚刚通过Python入门课程的人.他可以用1或2个Python类或函数来解决一些问题.通常,答案可以直接在教科书中找 ...