2013/07/10 16:05:41 - T:10 :Y :5 :0
0.000000 0.000000 0.000000 0.000000 2011.000000 2011.000000 2011.000000 2011.000000 2011.538881 2011.538881
时间和浮点数据可以判断一下不读取,只需要读出时间行的T:10 :Y :5 :0,求大神指教!
二级知识专家冷月花魂
2021-02-01 11:24
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.dat";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
System.out.println(str);//原样输出读到的内容
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
1楼为你卑微了我自己
2021-02-01 11:46
你如果是从T开始的。
那你可以一次读一行, 或者一次读一个字
一行只要判断有没T: 这个格式的就截出来
一字一字的,也是从T后面是:的开始。一直保存到换行
2楼你瞎啊撞我心上來
2021-02-01 11:39
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 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文件关注:170答案:3mip版解决时间 2021-02-02 02:35提问者妳熄滅叻菸,説啓従偂2021-02-01 10:19文件里面的数据如下:02013/07/10 16:05:41 - T:10 :Y :5 :00.000000 0.000000 0.000000 0.000000 2011.000000 2011.000000 20...
import
java
.io.IOException;
import
java
.io.InputStream;
import
java
.io.InputStreamReader;
import
java
.io.RandomAccessFile;
在实际工作中, 我们需要
读取
一些报表之类的数据
文件
, 这些
文件
一般可以是.
dat
.txt 格式的 , 那么如何
读取
呢?
下面案例以 .txt 为例.
package wxy.IO;
import
java
.io.BufferedReader;
import
java
.io.File;
import
java
.io.FileInputStream;
import
java
.io.IOExc
1、 写一段程序,让其运行时的表现为触发了5次Young GC、3次Full GC、然后3次Young GC;
2、 如果一个
Java
进程突然消失了,你会怎么去排查这种问题?
3、 给了一段Spring加载Bean的代码片段,阐述一下具体的执行流程?
是不是看上去很难,是不是和自己准备的“题库”中的问题不一样?不知道从何处下手?如果你有这种感觉,那么说明你的技术还需要继续修炼。
面对如此多的技术面试,怎么样才能说自己的技术已经过关了呢?
文本
文件
文件
类型
一般文本
文件
(若干行字符构成的
文件
),如txt等;一般二进制
文件
,如数据
文件
dat
;带特殊格式的文本
文件
,如xml;带特殊格式二进制
文件
,如doc,ppt等;
文件
时数据的一个容器;
文件
可以存放大量的数据;
文件
很大,注定
Java
只能以流形式依次处理输入输出从
Java
角度理解
输出:数据从
Java
到
文件
中,写操作;输入:数据从
文件
到
Java
中,读操作;文本
文件
读写
输出文本字符到
文件
...
1. 导入pandas库:import pandas as pd
2. 使用read_csv函数
读取
dat
文件
:df = pd.read_csv('filename.
dat
', sep='\t')
其中,filename.
dat
是你要
读取
的
dat
文件
名,sep='\t'表示
文件
中的数据是以制表符分隔的。
3.
读取
后的数据存储在
Dat
aFrame对象df中,可以通过df.head()等函数查看前几行数据。
希望对你有帮助!