java中的文件读取-将每一行转换为现有函数
Posted
技术标签:
【中文标题】java中的文件读取-将每一行转换为现有函数【英文标题】:file reading in java- converting every line to an existing function 【发布时间】:2022-01-23 00:25:19 【问题描述】:我有一个输入文本文件,其中包含我需要执行的不同命令, 命令必须一个一个地完成,我不知道怎么做。 我想只是读取文本文件--->将当前行放在一个字符串中,然后将其与所有效率非常低的命令进行比较
谢谢
【问题讨论】:
我假设您对编程相当陌生。如果是这样,那么我能给你的最好建议是:暂时忽略“高效”。在这一点上,让事情发挥作用并有意义方式比任何一种效率都更重要(你测试它的机器可能比你的任务所需的强大几个数量级,所以效率不是还很重要)。 @JoachimSauer 你还能告诉我最好的方法吗? 没有“最好的方法”来编码任何东西。以大多数程序员可以阅读和理解的代码为目标。 正如吉尔伯特所说,没有“最好的方法”。或者换一种说法:最好的方法会根据许多外部因素(具体要求、开发人员的技能水平、解决方案的生命周期......)而大量变化。在某些情况下,一个难以维护的简单易写的解决方案是最好的,因为它可以快速编写,并且预计不会长期维护。另一次,复杂但更易于扩展的解决方案可能会更好,因为它是需要长期维护/改进的项目的基础。现在,忘记“最好”,专注于让某些事情发挥作用。 【参考方案1】:有很多方法可以从文件中读取命令。 很大程度上取决于命令的格式以及它们是否有参数。
以下是可能的解决方案。
文本文件中每行一个命令
将命令序列逐行保存在文件中。逐行读取文件并使用命令列表检查每一行。
专业版:
易于实施缺点:
参数不易处理 难以处理命令块 难以处理命令之间的跳转保存为 json 对象的命令
将文件保存为具有单个 json 数组的文本文件,其中每个项目包含一个命令,最终带有参数。
专业版
很容易使用库来解析 json 文件 易于处理的参数缺点
json 数组形式的命令列表比结构化编程语言的可读性差创建解析器和您自己的编程语言
您可以创建自己的编程语言,只包含您需要的细节。
专业版
此解决方案非常适合您的任何需求 易于阅读,因为您可以决定更喜欢的结构 代码速度 可以处理典型的编程结构,如循环、条件语句、代码块...缺点
很难实现,您需要定义自己的语言并使用自定义解析器来实现(使用 ANTLR4 的示例)【讨论】:
以上是关于java中的文件读取-将每一行转换为现有函数的主要内容,如果未能解决你的问题,请参考以下文章