如何使File类输入区分大小写的文件名?

时间:2014-08-19 05:21:49

标签: java file io case-sensitive

我已经在这里有一个工作应用程序,在提示用户输入文件名后,使用File类读取文本文件。但是,我必须使其区分大小写,这意味着如果用户输入 zombie.txt ,则会抛出FileNotFoundException,但实际文件名为 Zombie .TXT 即可。所以我的问题是如何更正我的应用程序以实现它?

此外,由于我仍然是编程等的新手,所有建议或建议以缩短我的代码将深表感谢。 ;)

提前致谢!

import java.util.Scanner;
import java.io.*;
class FileReadingExercise {
  public static void main (String [] args)
  {
    Scanner userInput = new Scanner(System.in);
    Scanner fileInput = null;
    do {
        try
        {
            System.out.println("Please enter the name of a file or type QUIT to finish");
            String a = userInput.nextLine();
            if(a.equals("QUIT"))
            {
                System.exit(0);
            }
            fileInput = new Scanner(new File(a));                           //inline expression 
        }
        catch (FileNotFoundException e)
        {
            System.out.println("Error - File does not exist");              //read document as there is more
        }
    }
    while (fileInput == null);
    while(fileInput.hasNext())
    {
        String first  = fileInput.nextLine();
        System.out.println(first);  
    }
    fileInput.close();
  }
}

1 个答案:

答案 0 :(得分:3)

  1. 检索所有文件名并将其添加到ArrayList
  2. 使用ArrayList的contains方法检查用户的文件名。包含方法具有案例敏感性。