我应该使用哪些文件名测试我的应用程序?

时间:2015-07-29 01:01:31

标签: java file testing jfilechooser

我的应用程序涉及文件加载和保存(仅限Windows),用户可以输入他们喜欢的任何名称。

我想确保我有足够的检查和验证,以防止由于用户选择的名称而发生任何错误。

通常会导致问题的名称是什么,我应该测试我的应用程序是否可以使用?

2 个答案:

答案 0 :(得分:1)

  

..(仅限Windows)....通常会导致问题的名称是什么,我应该测试我的应用程序是否可以使用?

您应该避免使用

等文件名
CON, PRN, AUX, CLOCK$, NUL, COM0-9, LPT0-9

文件名中不允许使用以下字符

^./\\:*?\"<>| 

请查看此MSDN链接以获取更多信息,

  

我想确保我有足够的检查和验证来防止任何问题   由于用户选择的名称而发生错误。

用户无法创建包含上述值的文件(至少没有任何黑客攻击),因此用户无法选择其中一个文件。

您可以通过使用regExp来避免使用文件名。

(?i)(COM\\d{1}| LPT\\d{1} | CON | PRN | AUX |CLOCK$ | NUL)//TO avoid names

答案 1 :(得分:0)

  • 只允许使用字母数字字符,您可以使用Apache Commons Lang执行此操作: StringUtils.isAlphanumeric(file_name)

  • 如果用户再次提供相同的文件名,您需要有一个业务逻辑,您的逻辑应基于以下三点:

    • 您是否应该抛出错误并通知用户该文件已存在。
    • 覆盖现有文件。
    • 修改现有文件。