java - 如何在编辑输出时读取文件并创建新文件?

标签 java class methods

我正在尝试这样做:

选项 3:下载统计数据

如果用户选择此选项,程序将创建一个包含以下数据的统计文件:

a.功率输出从低到高排序
b.产出最高的一天
C。按月总计
d.所有数据的平均功率输出

统计文件将与输入文件同名,但附加 _stats.txt。例如,如果输入文件名为 data.txt,则统计文件将命名为 data_stats.txt。

注意:在添加 _stats.txt 之前,它将从 data.txt 中删除 .txt。它不会创建名为 data.txt_stats.txt 的文件。您可以使用 String.subString() 方法从文件名中删除最后 4 个字符。

编写一个名为 CreateStatsFile 的方法来完成此任务。选择适当的参数和返回类型。

创建统计文件后,将再次显示主菜单。

我该怎么做A-D?我认为我的循环设置正确。

这是 data.txt 文件中的内容

January 10 2018 236.9
January 11 2018 267.6
January 12 2018 278.1
January 13 2018 246.9
January 14 2018 262.3
January 15 2018 288.6
February 2 2018 199.7
February 3 2018 134.6
February 4 2018 200.8
February 5 2018 198.2
March 9 2018 169.7
March 10 2018 168.3
March 11 2018 179.4

我认为我的循环设置正确

 public static String createStatsFile () throws IOException
{
   File file = new File("data.txt");
   Scanner sc = new Scanner(file);
   while(sc.hasNext())
   {
       System.out.println(sc.);
   }

最佳答案

此类数据结构转换任务理想情况下有 3 个步骤:

  1. 您读取输入并将其转换为内部数据结构。
  2. 如果需要,您可以对数据结构进行一些额外的转换。
  3. 您打印此数据结构。

正如评论所说,通常 (1) 的麻烦最多,它被称为解析

但是,通常在源代码中明确分开执行这些步骤可以避免很多麻烦。

重要的是:仅加载一次解释您的输入文件。之后,您将其保存在程序内存中,可能作为某些记录集,您可以根据需要轻松使用。

无需多次解析此文件。

您的输入数据结构应遵循您的输入结构。 (2) 的主要任务是转换数据结构,这对于 (3) 来说更容易处理。

(2) 在您的情况下主要意味着用聚合结果(平均值、总和等)扩展您的数据结构。

关于java - 如何在编辑输出时读取文件并创建新文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080779/

相关文章:

Python 全局变量和类功能

java类,扩展外部API功能

java - 设置新按钮java的方法

java - 从 Java 中的方法打印数组

java - Android Activity ASyncTask 和 onCancelled

java - 通过 selenium webdriver sendKeys() 输入的数据未注册

Java 多线程 : how to wait for a method to return a valid value

java - 客户端无法从服务器接收信息

c++ - 如何在类构造函数中生成设定范围内的随机整数(不重复!)?

class - Kotlin 中另一个类中的密封类无法编译 : cannot access '<init>' it is private