当我使用方法RDBF
和RIPF
修改实例变量getIP()
和cngDB()
时,我在rsltUPDT()
中对它们求和,我确实得到了属性文件我需要,但是当我只需要修改rsltUPDT()
方法中的两个值的一个值时,在prp.setProperty("db.connection", RIPF + RDBF);
我可以修改一个值,但另一个值被设置为null
。
我该如何解决这个问题?
import java.util.*;
import javax.swing.JOptionPane;
import java.io.*;
public class TztDB {
private static String RIPF;
private static String RDBF;
public void getNewFile() throws Exception {
Properties prp = new Properties();
File flix = new File("default.properties");
FileOutputStream fileu = new FileOutputStream(flix);
prp.setProperty("db.connection", "");
prp.store(fileu, "Si vez esto, el archivo se creo exitosamente");
fileu.close();
}
public String changeDB() {
Scanner c = new Scanner(System.in);
System.out.println("OK!. Especifique la base de datos: ");
RDBF = c.nextLine();
return RDBF;
}
public void getCKT() throws Exception {
TztDB tzt = new TztDB();
File f = new File("./default.properties");
if (f.exists() && !f.isDirectory()) {
System.out.println("Cargado");
} else {
JOptionPane.showMessageDialog(null, "Error. Archivo no encontrado o directorio incorreto. Creando archivo nuevo.", "Error de Aplicacion", JOptionPane.ERROR_MESSAGE);
tzt.getNewFile();
}
}
public String getIP() throws IOException, InputMismatchException {
Scanner scnIP = new Scanner(System.in);
System.out.println("Hola! Buena Eleccion.");
System.out.print("IP: ");
RIPF = scnIP.nextLine();
return RIPF;
}
public void getUserOP() {
TztDB obk = new TztDB();
Scanner input1 = new Scanner(System.in);
int OP;
System.out.print("Hola, Usuario! ¿Que deseas hacer? \n\n ");
System.out.println("1-Cambiar Direccion IP. \n 2-Cambiar Base de Datos. ");
try {
OP = input1.nextInt();
if (OP == 1) {
try {
obk.getIP();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} else if (OP ==2) {
try {
obk.changeDB();
} catch (Exception e) {
System.out.println(e.getMessage());
}
} else if(OP == 3) {
System.out.println("404 :)!");
} else {
System.out.println("Opcion invalida. Reinice el programa...");
}
} catch (Exception x) {
System.out.println(x.getMessage());
}
}
public void rsltUPDT() throws Exception {
TztDB c = new TztDB();
Scanner CIN = new Scanner(System.in);
Properties prp = new Properties();
prp.setProperty("db.connection", RIPF + RDBF);
File flix = new File("default.properties");
FileOutputStream fileu = new FileOutputStream(flix);
prp.store(fileu, "Si vez esto, la operacion fue un exito!");
fileu.close();
}
public static void main(String [] args) throws Exception {
TztDB cole = new TztDB();
cole.getCKT();
cole.getUserOP();
cole.rsltUPDT();
}
}