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中的文件读取-将每一行转换为现有函数的主要内容,如果未能解决你的问题,请参考以下文章

python 如何读取excel文件 将每一行存为数组

PySpark如何读取具有多种编码的字符串的文件

如何将字符串转换为 uint32_t [重复]

HDFS中的一个文件的内容可不可以一行一行地读取出来

java中如何从一个文件中读文件,然后把另一个文件写入所读文件,最后再储存到另一个文件中

Java中的并发读/写文件