创建.bat文件以打开文件并读取它然后打开.java文件

时间:2015-04-22 04:28:41

标签: java batch-file cmd

我正在尝试创建.bat文件以打开.bat文件文件夹中的.txt文件(读取行)。然后,打开一个Java文件(搜索方法)。 所以当我在cmd中调用它时,我会输入" search.bat test.txt方法"

到目前为止,我所有人都是:

@echo off
echo "Launching.."
pause 
START "C:\Users\*Username*\Downloads"

1 个答案:

答案 0 :(得分:0)

以下是您正在寻找的一个非常简单的示例。运行SearchFiles时,它将提示您输入方法名称(字符串)和目录。它将扫描所有* .java文件的路径,并查找您指定的“方法名称”。请记住,这是一个字符串搜索,因此您可能会得到误报。

public class SearchFiles
{

  public static void main(String[] args)
  {
    SearchFiles searchFiles = new SearchFiles();
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter the method to be searched.. ");
    String methodName = scan.next();
    System.out.println("Enter the directory where to search ");
    String directory = scan.next();
    searchFiles.findFile(methodName, new File(directory));
  }

  public void findFile(String methodName, File file)
  {
    File[] list = file.listFiles(new FilenameFilter()
    {
      public boolean accept(File dir, String fileName)
      {
        return fileName.endsWith(".java");
      }
    });
    if (list != null)
      for (File javaFile : list)
      {
        if (javaFile.isDirectory())
        {
          findFile(methodName, javaFile);
        }
        else
        {
          scanFile(javaFile, methodName);
        }
      }
  }

  public void scanFile(File file, String method)
  {
    Scanner scanner = null;
    try
    {
      scanner = new Scanner(file);

      while (scanner.hasNextLine())
      {
        String nextToken = scanner.nextLine();
        if (nextToken.contains(method))
        {
          System.out.println(String.format("file found in %s" , file.getAbsolutePath()));
        }
      }
      scanner.close();
    }
    catch (FileNotFoundException e)
    {
      // you will need to handle this
      // don't do this !
      e.printStackTrace();
    }
  }
}