我在某个目录中有一个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/