匿名用户

1级

2016-12-23 回答

DAT估计是个二进制 或者文本 跟普通读取文件是一样的

读取上来 你再对文件格式进行拆分 首先你要了解 它的格式是什么  你可以用

NOTEPAD++或者 C32ASM打开 看看

public class ReadFromFile {

/**

* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

*/

public static void readFileByBytes(String fileName) {

File file = new File(fileName);

InputStream in = null;

try {

System.out.println("以字节为单位读取文件内容,一次读一个字节:");

// 一次读一个字节

in = new FileInputStream(file);

int tempbyte;

while ((tempbyte = in.read()) != -1) {

System.out.write(tempbyte);

}

in.close();

} catch (IOException e) {

e.printStackTrace();

return;

}

try {

System.out.println("以字节为单位读取文件内容,一次读多个字节:");

// 一次读多个字节

byte[] tempbytes = new byte[100];

int byteread = 0;

in = new FileInputStream(fileName);

ReadFromFile.showAvailableBytes(in);

// 读入多个字节到字节数组中,byteread为一次读入的字节数

while ((byteread = in.read(tempbytes)) != -1) {

System.out.write(tempbytes, 0, byteread);

}

} catch (Exception e1) {

e1.printStackTrace();

} finally {

if (in != null) {

try {

in.close();

} catch (IOException e1) {

}

}

}

}

/**

* 以字符为单位读取文件,常用于读文本,数字等类型的文件

*/

public static void readFileByChars(String fileName) {

File file = new File(fileName);

Reader reader = null;

try {

System.out.println("以字符为单位读取文件内容,一次读一个字节:");

// 一次读一个字符

reader = new InputStreamReader(new FileInputStream(file));

int tempchar;

while ((tempchar = reader.read()) != -1) {

// 对于windows下,\r\n这两个字符在一起时,表示一个换行。

// 但如果这两个字符分开显示时,会换两次行。

// 因此,屏蔽掉\r,或者屏蔽\n。否则,将会多出很多空行。

if (((char) tempchar) != '\r') {

System.out.print((char) tempchar);

}

}

reader.close();

} catch (Exception e) {

e.printStackTrace();

}

try {

System.out.println("以字符为单位读取文件内容,一次读多个字节:");

// 一次读多个字符

char[] tempchars = new char[30];

int charread = 0;

reader = new InputStreamReader(new FileInputStream(fileName));

// 读入多个字符到字符数组中,charread为一次读取字符数

while ((charread = reader.read(tempchars)) != -1) {

// 同样屏蔽掉\r不显示

if ((charread == tempchars.length)

&& (tempchars[tempchars.length - 1] != '\r')) {

System.out.print(tempchars);

} else {

for (int i = 0; i

if (tempchars[i] == '\r') {

continue;

} else {

System.out.print(tempchars[i]);

}

}

}

}

} catch (Exception e1) {

e1.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

}

/**

* 以行为单位读取文件,常用于读面向行的格式化文件

*/

public static void readFileByLines(String fileName) {

File file = new File(fileName);

BufferedReader reader = null;

try {

System.out.println("以行为单位读取文件内容,一次读一整行:");

reader = new BufferedReader(new FileReader(file));

String tempString = null;

int line = 1;

// 一次读入一行,直到读入null为文件结束

while ((tempString = reader.readLine()) != null) {

// 显示行号

System.out.println("line " + line + ": " + tempString);

line++;

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

}

/**

* 随机读取文件内容

*/

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) {

}

}

}

}

/**

* 显示输入流中还剩的字节数

*/

private static void showAvailableBytes(InputStream in) {

try {

System.out.println("当前字节输入流中的字节数为:" + in.available());

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

String fileName = "C:/temp/newTemp.txt";

ReadFromFile.readFileByBytes(fileName);

ReadFromFile.readFileByChars(fileName);

ReadFromFile.readFileByLines(fileName);

ReadFromFile.readFileByRandomAccess(fileName);

}

}

java 解析dat_JAVA中怎么读取DAT文件中的内容相关推荐

  1. java基础IO流使用读取一个文件中的文字输出到控制台上

    读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IO ...

  2. java xml stax_Java StAX解析器示例以读取XML文件

    java xml stax We can use Java StAX parser to read XML file. Java Streaming API for XML (Java StAX) p ...

  3. python 读excel中的sheet_python读取excel文件中所有sheet表格

    sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...

  4. python读取xlsx文件中的日期

    因为在python中直接读取xlsx文件中的日期,而不进行额外处理的话,会读取错误--即:只能读取成浮点数,而不能以日期的格式获取. 导入xlrd 首先保证要导入xlrd,若没有,可执行下面语句下载 ...

  5. 用python读取dat文件,wifi数据采集工具csi tool数据文件(.dat文件)解析

    项目地址: https://github.com/hongshixian/CSI_reader 前言 数据采集工具csi_tool采集数据并保存为后缀.dat的数据文件,在csi_tool中提供一个c ...

  6. java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?

    你知道java读取文本文件内容方式都有哪些吗?下面要给大家分享的就是比较简单的方法,一起来了解一下吧. 如何使用java实现读取TXT文件里的内容的方法以及思路: 下面先来看一下例子:import j ...

  7. SpringMVC通过注解方式读取properties文件中的值

    为什么80%的码农都做不了架构师?>>>    本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...

  8. c++读取txt文件中的数字_SpringBoot 多种读取配置文件中参数的方式

    点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/61/ . 一.简介 . 1.SpringBoot ...

  9. 如何用python处理excel中时间重合_python读取Excel文件中的时间,并计算时间间隔...

    以此Excel文件为例: 1.python读取Excel文件中的时间 import xlrd #读取Excel文件 workbook = xlrd.open_workbook('C:/Users/12 ...

最新文章

  1. [Nova] Failed to get shared write lock Is another process using the image?
  2. node --- 监听路由,读取json文件,向MongoDB中写入数据
  3. HDU 1251 统计难题(Trie模版题)
  4. session中存放一个对象,只修改对象的属性,不将修改后的对象存放session,发现session中存放的对象也发生改变!
  5. linux下调试工具的应用
  6. python中浮点型和十进制_Python3.2官方文件翻译-工具列表和十进制浮点计算
  7. 通货膨胀时是否提前还本付息--郎咸平
  8. php 怎么看nginx,查看nginx是否启动
  9. 北航院系和数字的对应关系
  10. S32K116使用记录
  11. 如何使用DOSBox软件编写运行汇编语言程序
  12. chm文件打不开的解决办法
  13. Python-文件操作
  14. 如何使用 ELEMENTOR
  15. 360隐私保护器直指腾讯QQ 360真的发飙了,百度旁观!
  16. Node开发实践总结-定时脚本的设计与实现
  17. 致力于量子计算商业化,量旋科技欲在超导量子领域取得突破
  18. 冷眼旁观Cocos3D发布
  19. 如何使用轻量应用服务器搭建高颜值的YesPlayMusic网易云播放器
  20. 解决centos 个别命令command not found 每次打开虚拟机都要sourc .bashrc

热门文章

  1. 详解HTTP的文件上传全过程(RFC1867协议)
  2. pic2pdf“存盘出错,请检查目标目录”解决办法
  3. 数字设计ic芯片流程
  4. cmake:解决MSVC下/MT 编译paho.mqtt.c的问题
  5. cad2014打开文件崩溃_CAD2014非正常关闭后,临时文件打不开如何解决?
  6. 【排序-简单】1528. 重新排列字符串
  7. [CF1179E]Alesya and Discrete Mat
  8. 2021 搜狐畅游数据分析笔试题解析
  9. Python爬虫和反爬虫的斗争
  10. 高性能 + 百万级excel数据导入导出