【问题标题】:File finder Java program : Homework [closed]文件查找器Java程序:作业[关闭]
【发布时间】:2012-03-22 05:40:00
【问题描述】:

这是我的作业,但请先阅读我的问题描述。

我必须写一个Java程序为

a. 目录的路径将作为命令行参数传递给程序。然后程序将提示输入文件名并查找具有该名称的所有文件。 如果没有传递任何参数,程序应该搜索之前运行的目录。不要使用任何数据库。

b. 如果用户键入 exit/quit/bye,程序将停止执行。

问题描述:

*我的问题是这个问题说我必须从命令行获取目录名,如果没有通过,我必须获取之前输入的目录。但是当我们传递命令行参数时,我们需要运行程序。这意味着每次我必须运行程序来传递命令行参数。 那么如果没有通过参数,我怎么能记住前一个(因为我不能使用数据库)。 *

【问题讨论】:

    标签: java command-line


    【解决方案1】:

    您可以将实际目录名称的名称存储在一个文件中(当您不带参数重新运行时,它将是“以前的”目录名称)

    持久性是关键。您必须在应用程序外部持久(存储)状态,它可以生存

    【讨论】:

    • 谢谢广告。这很有帮助
    【解决方案2】:

    我真的不明白“程序应该从以前的运行中搜索目录”是什么意思。所以我会尝试回答两种可能性:

    1. 以前从同一会话运行。 (刚刚运行)

      为了做到这一点,你应该创建一个存储所有 在ArrayList中运行,获取最新路径。备忘录模式也可能是解决此问题的另一种解决方案。

    2. 以前从相同/不同的会话运行(意味着可能在昨天、上个月或去年运行)并且计算机可能在每次运行之间已关闭。

      为此,我认为您应该使用 FileWriter 或 BufferedWriter 将路径写入默认文件。然后创建 一个 FileReader 或 BufferedReader 从这个文件中读取以获取最后一个 正在运行的路径。

    【讨论】:

    • 如果我使用前 1 个逻辑,我的困惑是,如果我使用单例模式并存储 prev 条目,但是当我再次运行程序时,我会丢失该值,不是吗?我错过了什么吗?
    • 是的。如果这是您关心的问题,您应该使用第二个选项。
    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多