如何在java中读取定长文件
我正在用java阅读固定长度的平面文件如何在java中读取定长文件,java,parsing,reader,Java,Parsing,Reader,我正在用java阅读固定长度的平面文件 我是新手,有人能帮我做定长阅读器吗?当它是一个文本文件,有定长的行时,普通的阅读器就足够了 这假设每条记录的末尾都有一个换行符 List<MyRecord> result = new ArrayList<>(); Path file = Paths.get("C:/Import/20190308.txt"); Charset charset = Charset.defaultCharset(); Files.lines(path
我是新手,有人能帮我做定长阅读器吗?当它是一个文本文件,有定长的行时,普通的阅读器就足够了 这假设每条记录的末尾都有一个换行符
List<MyRecord> result = new ArrayList<>();
Path file = Paths.get("C:/Import/20190308.txt");
Charset charset = Charset.defaultCharset();
Files.lines(path, charset)
.filter(line -> line.length() != 142)
.forEach(line -> {
MyRecord record = new MyRecord();
record.id = Long.parseLong(line.substring(0, 10).trim());
record.name = line.substring(10, 50).trim();
record.age = Integer.parseInt(line.substring(50, 53).trim());
...
result.add(record);
});
二进制数据还是文本?具有固定大小的
字节[]
的FileInputStream将是一个起点。欢迎使用StackOverflow。这是一个问答网站。这不是一个“帮助”网站,因为这需要不同的格式,而不是“问答”。请阅读。请做一些研究,创建一个程序,如果你有任何具体的,可回答的问题,欢迎你在这里发布。它将是文本文件@Joop Eggenthanks,以获得你的支持,但这对我没有帮助。请你详细说明一下。我补充了一点。尝试只读取行(可能来自一个简化的小样本文件),然后从那里开始工作,检查行长度。调试。
public class MyRecord {
public long id;
public String name;
public int age;
...
}