扫描多个文件头

时间:2011-10-01 05:46:42

标签: 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"]

先谢谢!

1 个答案:

答案 0 :(得分:1)

以下代码段打印出给定目录中具有.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);
            }
        }