所以我有一个程序可以创建一个新文件,但如果用户没有输入任何内容,则需要它有一个默认文件名,并且想知道是否有人可以帮助它。
到目前为止,我有程序要求用户输入文件名,但不知道如何设置默认设置为" 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();
答案 0 :(得分:3)
测试用户输入的文件名。如果是空字符串,请使用默认文件名。
您可能希望"修剪"字符串也是。带有前导或尾随空白字符的文件名将是一个坏主意。
答案 1 :(得分:1)
你必须测试字符串是否为空,这可以通过String#isEmpty
与String#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();
}