一、问题描述
随着入了Win10的坑,发现它最不能让人忍受的一点就是强制系统更新,而且系统更新之频繁,简直不能忍。这就导致,对于一些想要一直运行的Java文件,就会造成每次系统更新之后的重启导致Java文件无法继续运行。
也有很多博客解决这个问题:创建一个bat文件,将快捷方式放到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录下,这个方式需要用户登录才能自启动,不行;
利用Instsrv.exe(可以给系统安装和删除服务)、Srvany.exe(可以让程序以服务的方式运行),看到这,就不想试了,太麻烦。
本文就以很简单的程序为例,来实现解决这个问题的过程!!!
二、问题解决
问题解决的途径是创建计算机任务计划程序。
三、准备工作
例如:需要实现下面文件(CSDN.java)的开机启动。
import java.io.*; /** * Created by Yngz_Miao on 2019/6/14. */ public class CSDN { public static void main(String[] args) { Writer wo = null; try { wo = new FileWriter("loginfo.log"); wo.write("Hello World!\r\n"); wo.flush(); } catch (IOException e) { e.printStackTrace(); } } }
主要逻辑就是,在当前目录查找loginfo.log文件,如果不存在就重新创建一个。然后在该文件中写入Hello World!。逻辑很简单。
我们如何来运行这个java文件呢?在当前目录按住shift、右键,选择在此处打开命令窗口,在命令行窗口中输入命令:
javac CSDN.java java CSDN
顺带提一下,如果java文件中有中文字符,很可能会报错,此时需要使用命令:
javac -encoding utf-8 CSDN.java java CSDN
如果java文件中含有System.out.println的程序,运行完成还保留着java程序的运行GUI窗口,显然这不是我们想要的。此时可以使用javaw的方式来避免:
javac -encoding utf-8 CSDN.java javaw CSDN
四、bat文件
bat文件,类似于Linux系统下的shell脚本。它是一种批处理文件,是一种无格式的文本文件,它包含一条或多条命令。简单的说,就是在bat文件里的内容,运行它,就相当于将里面的命令全部挨个运行了一遍。
创建一个CSDN.bat文件:@echo offstart java CSDNexit双击bat文件,就相当于将java CSDN这一句在命令行里面敲了并运行了一遍。
五、设置该bat文件开机自启动
1、右键计算机–>管理,选择系统工具–>计划任务程序;
2、选择创建任务,在弹出窗口中,输入任务名称,并选择不管用户是否登录都要运行–>使用最高权限运行;
3、切换到触发器页面,开始任务选择启动时,勾选延迟任务时间(等待一些系统的初始化,避免出错);
4、切换到操作页面,操纵选择启动程序,定位需要操作的bat文件,同时确定起始于的位置(也就是在那个目录下启动命令行);
5、条件和设置页面随个人习惯进行调整,最终输入密码进行确认。
如此就完成了该JAVA文件的开机自启动了,本文针对的是一个简单的Java文件,如果是稍微复杂点的Java项目,可以将整个项目生成Jar文件,然后使用命令:java -jar CSDN.jar然后编写相对应的bat文件,再重新设置一遍任务计划即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。