public class info {
public static String getautostart() {
return System.getProperty("java.io.tmpdir").replace("Local\\Temp\\", "Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup");
}
public static String gettemp() {
String property = "java.io.tmpdir";
String tempDir = System.getProperty(property);
return tempDir;
}
public static String getrunningdir() {
String runningdir = ProjectGav.class.getProtectionDomain().getCodeSource().getLocation().getPath();
return runningdir;
}
}
System.out.println(info.getautostart() + "\\asdf.jar");
System.out.println(info.getrunningdir());
Files.move(info.getrunningdir(), info.getautostart() + "\\asdf.jar");
文件。move
不起作用。
假设您要将jar从当前目录移动到autostart文件夹。您已经有了以下方法:
// nothing to change here - it seems to work just fine
public static String getautostart() {
return System.getProperty("java.io.tmpdir").replace("Local\\Temp\\", "Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup");
}
// this one got confused with the '/' and '\' so I changed it
public static String getrunningdir() {
//you need to import java.nio.file.Paths for that.
String runningdir = Paths.get(".").toAbsolutePath().normalize().toString(); // it simulates the creation of a file in the current directory and returns the path for that file
return runningdir;
}
现在移动文件需要路径
而不是字符串
,因此您需要为每个字符串创建一个路径实例:
Path autostartPath = Paths.get(getautostart());
Path currentPath = Paths.get(getrunningdir());
如果要指向路径中的文件(如.jar
文件),可以这样做:
currentPath.resolve("myProgram.jar"); // The paths end with a `/` so you don't need to add it here
Files.move(currentPath.resolve("myProgram.jar"), autostartPath.resolve("myProgram.jar"));
问题内容: 我有一个Java应用程序。 该应用程序具有一个设置,该设置决定该应用程序是否在启动时启动。 目前,我可以通过在“启动项目”文件夹中放置/删除快捷方式来实现此目的。 但是,我想知道是否有更好的方法来处理此行为。 编辑 是的,它是Windows。抱歉,之前没有清除该内容。 该应用程序具有一个用户可以在其中触发动作的UI,并且该应用程序在运行时会定期在后台运行一些任务。 @Peter,如何在
我有一份Java申请。 应用程序有一个决定应用程序是否在启动时启动的设置。 目前,我通过在StartUp items文件夹中放置/删除快捷方式实现了这一点。 然而,我想知道是否有更好的方法来处理这种行为。 编辑 是的,是视窗。抱歉之前没有清除。 应用程序有一个UI,用户可以在其中触发操作,并且应用程序在运行时定期在后台运行一些任务。 @Peter,如何使用应用程序中的代码更改注册表?这种方法是否与
当我的应用程序启动时,将创建一个executor服务(在java.util.concurrent中使用Executors.NewFixedThreadPool(maxThreadNum))对象。当请求到来时,executor服务将创建线程来处理它们。 当应用程序启动时,它将在executorService池中创建200个线程。 只是想知道当应用程序启动时,这是一种正确的创建线程的方法吗?还是有更好
如何在Eclipse中配置Java动态Web项目,使Web-INF/lib文件夹位于子文件夹中? 例如,假设我希望我的“lib”文件夹位于此处: src/main/webapp/WEB-INF/lib 我的webapp根在这里: src/main/webapp/ 如何在Eclipse中配置此功能?我知道我可以“添加jar”,但我希望它们被组织在我的应用程序构建路径库部分的“Web应用程序库”部分。
我已经编写了一个Java应用程序,它可以构建flume配置文件,并将它们写入Linux机器上的磁盘。然后,应用程序构建flume命令,并尝试通过运行以下代码中的命令来启动flume代理: 如果我接受flume命令并通过终端手动执行它,它工作得很好。当java应用程序尝试执行flume命令时,什么都没有发生。这是类路径问题吗? Flume Command here: /root/flume-flum
问题内容: 我已经看到许多应用程序将乐器类作为参数并在加载时作为参数,这些应用程序也将a 放到了命令行中。 Java文档说关闭了类验证。 但是,为什么有人要关闭验证,即使他们正在学习类呢? 问题答案: 我会说启动时间。加载类时,验证类是否正确需要花费一些时间。由于类可能以惰性方式加载(不是在应用程序启动时加载,而是在首次使用时加载),因此这可能会导致意外的和不希望的运行时延迟。 实际上,通常不需要