无应答的默认文件名

时间:2016-10-21 03:38:01

标签: java

所以我有一个程序可以创建一个新文件,但如果用户没有输入任何内容,则需要它有一个默认文件名,并且想知道是否有人可以帮助它。

到目前为止,我有程序要求用户输入文件名,但不知道如何设置默认设置为" output.txt"。

以下是我的代码片段:

 //Creates a Scanner Object for keyboard input.
 Scanner keyboard = new Scanner(System.in);

 //Get the filename.
 System.out.print("Enter a filename: ");
 filename = keyboard.nextLine();

3 个答案:

答案 0 :(得分:3)

测试用户输入的文件名。如果是空字符串,请使用默认文件名。

您可能希望"修剪"字符串也是。带有前导或尾随空白字符的文件名将是一个坏主意。

答案 1 :(得分:1)

你必须测试字符串是否为空,这可以通过String#isEmptyString#trim结合使用,来自文档:

  

<强> isEmpty

     

public boolean isEmpty()

     

当且仅当length()为0时才返回true。

这意味着,一旦我们修剪去除空格,我们就可以测试长度是否为0.因此,任何只包含空格的输入都不会被用作文件名,并且会默认,否则它将使用给定的。您可以这样应用:

File file = new File(filename.trim().isEmpty() ? "output.txt" : filename);

try {       
    file.createNewFile();
} catch(IOException ex) {
    //file was not created successfully
}

这将创建一个新的File对象,根据用户是否输入任何内容(排除空格),该对象将具有文件名。如果文件不存在,file.createNewFile()将只创建该文件。

答案 2 :(得分:0)

确定你需要一些条件来实现这一目标。

也许,你可能需要这样简单的方法:

isNotNullOrEmpty(filename) ? filename : defaultFileName;

    private static boolean isNotNullOrEmpty(String str) {
        return str != null && !str.isEmpty();
    }