String s = "cmd /c " + GeneralMethods.getFilesPath()
+ "mysql-5.6.26-winx64/bin/mysqldump -u root -password database_name>" + GeneralMethods.getFilesPath()
+ "backup/backup.sql";
我不想要静态代码 我想在java上选择动态路径。
答案 0 :(得分:0)
如果从main方法运行代码,则将变量作为程序参数传递。在方法中读取这些参数并创建路径。
例如
class Test {
public static void main(String[] args) {
String s = "cmd /c " + GeneralMethods.getFilesPath() + args[0] + "-u root -password database_name>" + GeneralMethods.getFilesPath() + args[1];
}
}
对于任何应用程序,都可以使用VM参数。
String s = "cmd /c " + GeneralMethods.getFilesPath() + System.getProperty("sysProp1") + "-u root -password database_name>" + GeneralMethods.getFilesPath() + System.getProperty("sysProp2");
启动服务器/应用程序时,可以使用-DsysProp1 = value1 -DsysProp2 = value2设置这些变量sysProp1
或sysProp2
。
或者如果应用程序中的多个位置需要它们
创建一个类来保存这些值
public class HolderClass {
public static String value1 = null;
public static String value2 = null;
}
现在,在这些值可用的方法中(例如在main方法中),设置值
HolderClass.value1 = "value received"
HolderClass.value2 = "Other value received"
在需要此值时,请使用
String s = "cmd /c " + GeneralMethods.getFilesPath() + HolderClass.value1 + "-u root -password database_name>" + GeneralMethods.getFilesPath() + HolderClass.value2;