用java搞定时任务,将hashmap里面的值存到文件里面去

       要实现这个功能,你可以使用Java的TimerTimerTask类来创建一个定时任务。

       首先,你需要创建一个继承自TimerTask的类,重写run方法,将HashMap中的内容写入文本文件。

       然后,使用Timer类的schedule方法来设置定时任务的执行时间。

第一步,创建继承自TimerTask的类

package org.cyl.database.timer;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.TimerTask;

public class WriteToFileTask extends TimerTask {
    private HashMap<String, String> keyValueMap;
    private String filePath;

    public WriteToFileTask(HashMap<String, String> keyValueMap, String filePath) {
        this.keyValueMap = keyValueMap;
        this.filePath = filePath;
    }

    @Override
    public void run() {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
            for (Map.Entry<String, String> entry : keyValueMap.entrySet()) {
                writer.write(entry.getKey() + " " + entry.getValue());
                writer.newLine();
            }
        } catch (IOException e) {
            System.err.println("写入文件失败:" + e.getMessage());
        }
    }
}

   这个writer.newLine是换行的意思,就是每读取到一对hashmap里面的值时,就换一行。

   注意:每次执行这个任务时,都会覆盖原有的文件内容。

第二步,编写测试代码

package org.cyl.database;

import org.cyl.database.timer.WriteToFileTask;

import java.util.HashMap;
import java.util.Timer;

public class Main {
    public static void main(String[] args) {
        HashMap keyValueMap=new HashMap();
        keyValueMap.put("1","2");
        keyValueMap.put("3","4");
        Timer timer=new Timer();
        timer.schedule(new WriteToFileTask(keyValueMap, "./log.txt"), 0, 2 * 1000); // 每隔1分钟执行一次
    }
}

 这里我是存放在项目文件目录里面的log.txt文件中,然后是每两秒种写一次。

第三步,看成果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/312964.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记忆泊车PNC模块架构设计说明书

目 录 0 修订历史......... 2 1. 概要 ............... 5 1.1. 目的 ............... 5 1.2. 参考文档 ......... 5 2. 名词解释 ...... 5 3. 需求概述 ............. 6 3.1. 业务视图 .............. 6 3.2. 功能描述 ............... 6 3.3. 性能指标 ............ 6 3.4. 资…

【软件安全:软件安全技术课后习题及答案】

第一章 1-1 零日漏洞、零日攻击 零日漏洞是指未被公开披露的软件漏洞&#xff0c;没有给软件的作者或厂商以时间去为漏洞打补丁或是给出建议解决方案&#xff0c;从而攻击者能够利用这种漏洞破坏计算机程序、数据及设备。 利用零日漏洞开发攻击工具进行的攻击称为零日攻击。 1-…

Ubuntu server搭建dhcp服务器

安装 直接使用一下命令进行安装 apt-get install isc-dhcp-server 以下就是安装好的图片 然后进入dhcp目录 cd /etc/dhcp 进入后用ls查看当前目录存在哪些文件 使用如下进入dhcp.conf vim dhcpd.conf 红&#xff1a;设置ip域和子网掩码 绿&#xff1a;设置ip池范围 黄…

爬虫利器一览

前言 爬虫&#xff08;英文&#xff1a;spider&#xff09;&#xff0c;可以理解为简单的机器人&#xff0c;如此一个“不为名利而活&#xff0c;只为数据而生&#xff0c;目标单纯&#xff0c;能量充沛&#xff0c;不怕日晒雨淋&#xff0c;不惧寒冬酷暑”的家伙&#xff0c;…

【深度学习】Anaconda3 + PyCharm 的环境配置 1:手把手带你安装 PyTorch 并创建 PyCharm 项目

前言 文章性质&#xff1a;实操记录 &#x1f4bb; 主要内容&#xff1a;这篇文章记录了 PyTorch 的安装过程&#xff0c;包括&#xff1a; 1. 创建并激活新的虚拟环境&#xff1b; 2. 查看电脑是否支持 CUDA 以及 CUDA 的版本&#xff1b; 3. 根据 CUDA 的版本安装 PyTorch&am…

归并排序例题——逆序对的数量

做道简单一点的题巩固一下 归并排序实现步骤 将整个区间 [l, r] 划分为 [l, mid] 和 [mid1, r]。 递归排序 [l, mid] 和 [mid1, r]。 将左右两个有序序列合并为一个有序序列。 题目描述 给定一个长度为 n 的整数数列&#xff0c;请计算数列中的逆序对的数量。 逆序对的定义…

简单的推箱子游戏实战

目录 项目分析 地图初始化 背景图片 游戏场景图片: 热键控制 按键设置 确定人物位置 实现人物移动(非箱子,目的地) 推箱子控制 游戏结束 最终代码 合法性判断: 项目分析 墙:0,地板:1,箱子目的地:2,小人:3,箱子:4,箱子命中目标:5 地图初始化 背景图片 #include <…

煤炭行业电力能源消耗监测管理系统的作用有哪些?

如果说&#xff0c;通风是煤炭的呼吸系统&#xff0c;那么供电就是煤矿的神经系统。安全供电对安全生产有着重要的意义。一旦供电系统出现故障或停电&#xff0c;煤矿的生产活动将无法正常进行&#xff0c;这将产生严重的经济损失甚至危及工人的生命安全。 为了提高煤矿供电系统…

机器视觉检测设备在连接器外观缺陷检测中的应用

作为传输电流或信号连接两个有源器件的器件&#xff0c;连接器被广泛应用于各个行业&#xff0c;从手机、平板、电脑&#xff0c;到冰箱、空调、洗衣机&#xff0c;再到汽车、国防、航空&#xff0c;处处是它的所在。每个电子产品少了连接器将无法运作&#xff0c;因此&#xf…

在Docker上配置TensorFlow

在Docker上配置TensorFlow 配置WSL 参考教程&#xff1a;https://blog.csdn.net/m0_63969219/article/details/124632640 在上述教程配置的过程中&#xff0c;可能很难在微软商店下到ubuntu&#xff0c;下面给出另外一种解决方案&#xff1a; 接着上面教程 wsl --set-defaul…

【控制篇 / 策略】(7.4) ❀ 04. 修改IP地理位置数据库 ❀ FortiGate 防火墙

【简介】虽然通过FortiGuard服务可以更新IP地理位置数据库&#xff0c;但是实际使用环境中&#xff0c;总会有部分IP地址不符合我们的愿景&#xff0c;这种情况下&#xff0c;可以通过修改IP地理位置数据库来达到我们的目标。 更新IP地理位置数据库 更新IP地理位置数据库是Fort…

蓝桥杯练习题(四)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;四&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

算法34:贴纸拼词(力扣691题)

题目&#xff1a; 我们有 n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。 您想要拼写出给定的字符串 target &#xff0c;方法是从收集的贴纸中切割单个字母并重新排列它们。如果你愿意&#xff0c;你可以多次使用每个贴纸&#xff0c;每个贴纸的数量是无限的。 返回你…

ansible从入门到精通(完整篇)

文章目录 01 Ansible介绍与安装1. 介绍 Ansible1.1 什么是 Ansible?1.2 Ansible 无需代理1.3 Ansible 方式 2. 安装 Ansible2.1 控制节点2.2 受管主机2.3 基于Windows的受管主机2.4 受管网络设备2.5 安装Ansible 02 部署Ansible1. 构建Ansible清单1.1 定义清单1.2 使用静态清单…

人脸识别(Java实现的)

虹软人脸识别&#xff1a; 虹软人脸识别的地址&#xff1a;虹软视觉开放平台—以免费人脸识别技术为核心的人脸识别算法开放平台 依赖包&#xff1a; 依赖包是从虹软开发平台下载的 在项目中引入这个依赖包 pom.xml <!-- 人脸识别 --><dependency><gr…

Find My游戏手柄|苹果Find My技术与手柄结合,智能防丢,全球定位

游戏手柄是一种常见电子游戏机的部件&#xff0c;通过操纵其按钮等&#xff0c;实现对游戏虚拟角色的控制。随着游戏设备硬件的升级换代&#xff0c;现代游戏手柄又增加了&#xff1a;类比摇杆&#xff08;方向及视角&#xff09;&#xff0c;扳机键以及HOME菜单键等。现在的游…

Find My资讯|AirTag 2或推迟上市,Find My功能十分强大

苹果于 2021 年4月推出了初代 AirTag。苹果已将第二代 AirTag 的推出推迟到 2025 年&#xff0c;目前苹果官方并不急于推出AirTag 2的原因还有AirTag所搭载的搜寻定位功能非常的强大&#xff0c;在市场上几乎没有任何竞争对手可言。 AirTag使用蓝牙和苹果设备的“查找我的”网…

Python Web开发库之vcrpy 使用详解

概要 在现代Web开发中&#xff0c;HTTP请求是不可避免的一部分。然而&#xff0c;通过网络发送HTTP请求可能会导致一些问题&#xff0c;如慢速响应、网络不稳定和API限制。为了解决这些问题&#xff0c;Python社区开发了一些工具和库&#xff0c;其中之一就是vcrpy。vcrpy是一…

软件分发点(DP)的合理规划

软件分发点&#xff08;Distribution Point, DP&#xff09;是用于托管文件以分发到计算机和移动设的服务器&#xff0c;Jamf Pro可以通过分发点分发以下类型的文件&#xff1a; 软件包 脚本 内部应用程序 内部书籍 Jamf Pro支持两种类型的分发点&#xff0c;您可以使用这些类型…

铭文 LaunchPad 平台 Solmash 推出早鸟激励计划

为感谢用户对Solmash的支持&#xff0c;Solmash特别推出“Solmash早鸟激励计划”&#xff0c;以回馈社区的早期参与者&#xff0c;这是专为已经参与Staking Pool或Honest Pool的用户推出的激励。 Solmash NFT激励 为确保该NFT的精准发放&#xff0c;请在Jan 11th, 2024 12:00 U…