java - 扫描多个文件头

标签 java file file-io

我在某个目录中有一个java程序。我想让它找到与程序位于同一目录中以 .dat.DAT 结尾的所有文件的列表。然后我需要查看每个文件的前几行并解析标题字符串。该程序应返回一个文件名数组,以及每个文件的前三行的数组。我对 IO 东西还很陌生,有人可以帮忙吗?

Example: C:/my_directory/
Files: Program.class,
       FOO.DAT (starts with "Lorem\nipsem\n$$0"),
       bar.dat (starts with "ipsem\nLorem\n$$0")

Return: ["FOO.DAT","bar.dat"] and ["Lorem\nipsem\n","ipsem\nLorem\n"]

提前致谢!

最佳答案

以下代码片段打印给定目录中具有 .dat.DAT 文件扩展名的所有文件。尝试弄清楚如何从文件中读取前三行。这一定是相当简单的

        File tmp = new File( "/tmp");
        List<String> fileList = new ArrayList<String>();
        if( tmp.isDirectory())
        {
            for( File f : tmp.listFiles())
            {
                if( f.isFile() )
                {
                    if((f.getName().endsWith( ".dat") || f.getName().endsWith(".DAT")))
                    {
                        fileList.add( f.getName() );
                    }
                }
            }

            for( String fileName : fileList)
            {
                System.out.println( fileName);
            }
        }

关于java - 扫描多个文件头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7618442/

相关文章:

java - Java中Scanner的构建和使用

iphone - Objective-C 中是否有从字符串递归创建目录的方法?

java - 由于线程死锁,无法访问 Web 应用程序

java - 使用 InputStream 读取文本文件

java - 锁定文件并在不先释放锁定的情况下将其删除

android - 在 android 上从 r.raw 读取文本文件

PHP:文件或数据库

java - 使用 Spring 进行字符串到字符串的映射?

java - 有限大小的 HashMap

Python write() 方法和 close() 函数不适用于最新版本的 Visual Studio Code。代码适用于 Python 3.8.5 Shell