【问题标题】:Java Reading in Info from .dat FilesJava 从 .dat 文件中读取信息
【发布时间】:2013-09-19 21:04:37
【问题描述】:

自从我将.dat 文件输入到Java 程序中已经有几年了,现在我需要这个项目。我记得当时我使用了Scanner 类,但是通过互联网寻找解决方案,似乎有很多选择; BufferedReader 和 FileStream 之类的东西我以前从未使用过,或者至少不记得使用过。无论如何,我的问题是:

如果我正在阅读以下格式的 .dat 文件:

998763264      EGCDGHIJJ

697724736      GDHECHHJG
etc.

你会推荐我实现什么class(es) 来处理这个输入? / 你能给我一个用来读取文件的类的例子吗?

非常感谢您的帮助。

【问题讨论】:

  • 您的文件是文本文件还是包含二进制数据? “dat”文件扩展名通常用于“数据文件”,这意味着扩展名完全不说明文件中存储的内容。
  • 如果可以的话,试着解释一下这些文件的内容。

标签: java input filestream bufferedreader


【解决方案1】:

如果您的 .dat 文件是包含您提供的模式的文本文件,那么 Scanner 似乎对您来说是一个很好的解决方案。

试试这个代码:

Scanner sc = new Scanner(new File("test.dat"));
Pattern p = Pattern.compile("([\w\d]*)\s*");
while (sc.findWithinHorizon(p, 0) != null)
{
  MatchResult m = sc.match();
  System.out.println(m.group(1));
}

【讨论】:

  • 非常感谢你,弓箭手!
【解决方案2】:

我可以建议使用 FileInputStream 和 InputStreamReader。

您可以在本教程中找到一个使用示例:http://tutorials.jenkov.com/java-io/inputstreamreader.html

在您的示例中,您可以使用 reader.read(char[] cbuf, int off, int len) 方法专门读取所需的字符块。

【讨论】:

    猜你喜欢
    • 2020-10-31
    • 2020-12-20
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多