java 解析dat_JAVA中怎么读取DAT文件中的内容
匿名用户
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文件中的内容相关推荐
- java基础IO流使用读取一个文件中的文字输出到控制台上
读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IO ...
- 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 ...
- python 读excel中的sheet_python读取excel文件中所有sheet表格
sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...
- python读取xlsx文件中的日期
因为在python中直接读取xlsx文件中的日期,而不进行额外处理的话,会读取错误--即:只能读取成浮点数,而不能以日期的格式获取. 导入xlrd 首先保证要导入xlrd,若没有,可执行下面语句下载 ...
- 用python读取dat文件,wifi数据采集工具csi tool数据文件(.dat文件)解析
项目地址: https://github.com/hongshixian/CSI_reader 前言 数据采集工具csi_tool采集数据并保存为后缀.dat的数据文件,在csi_tool中提供一个c ...
- java解析txt文本文件_java读取文本文件内容方法详解,java如何读取txt文件?
你知道java读取文本文件内容方式都有哪些吗?下面要给大家分享的就是比较简单的方法,一起来了解一下吧. 如何使用java实现读取TXT文件里的内容的方法以及思路: 下面先来看一下例子:import j ...
- SpringMVC通过注解方式读取properties文件中的值
为什么80%的码农都做不了架构师?>>> 本方法是结合Java配置及XML配置来完成. 首先定义XML配置文件 app.xml: <?xml version=" ...
- c++读取txt文件中的数字_SpringBoot 多种读取配置文件中参数的方式
点击上方☝SpringForAll社区 轻松关注!及时获取有趣有料的技术文章 本文来源:http://www.mydlq.club/article/61/ . 一.简介 . 1.SpringBoot ...
- 如何用python处理excel中时间重合_python读取Excel文件中的时间,并计算时间间隔...
以此Excel文件为例: 1.python读取Excel文件中的时间 import xlrd #读取Excel文件 workbook = xlrd.open_workbook('C:/Users/12 ...
最新文章
- [Nova] Failed to get shared write lock Is another process using the image?
- node --- 监听路由,读取json文件,向MongoDB中写入数据
- HDU 1251 统计难题(Trie模版题)
- session中存放一个对象,只修改对象的属性,不将修改后的对象存放session,发现session中存放的对象也发生改变!
- linux下调试工具的应用
- python中浮点型和十进制_Python3.2官方文件翻译-工具列表和十进制浮点计算
- 通货膨胀时是否提前还本付息--郎咸平
- php 怎么看nginx,查看nginx是否启动
- 北航院系和数字的对应关系
- S32K116使用记录
- 如何使用DOSBox软件编写运行汇编语言程序
- chm文件打不开的解决办法
- Python-文件操作
- 如何使用 ELEMENTOR
- 360隐私保护器直指腾讯QQ 360真的发飙了,百度旁观!
- Node开发实践总结-定时脚本的设计与实现
- 致力于量子计算商业化,量旋科技欲在超导量子领域取得突破
- 冷眼旁观Cocos3D发布
- 如何使用轻量应用服务器搭建高颜值的YesPlayMusic网易云播放器
- 解决centos 个别命令command not found 每次打开虚拟机都要sourc .bashrc
热门文章
- 详解HTTP的文件上传全过程(RFC1867协议)
- pic2pdf“存盘出错,请检查目标目录”解决办法
- 数字设计ic芯片流程
- cmake:解决MSVC下/MT 编译paho.mqtt.c的问题
- cad2014打开文件崩溃_CAD2014非正常关闭后,临时文件打不开如何解决?
- 【排序-简单】1528. 重新排列字符串
- [CF1179E]Alesya and Discrete Mat
- 2021 搜狐畅游数据分析笔试题解析
- Python爬虫和反爬虫的斗争
- 高性能 + 百万级excel数据导入导出