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()等函数查看前几行数据。 希望对你有帮助!