Я хотел бы использовать этот метод для преобразования двумерного массива в строку в файл свойств. Затем импортируйте его из свойств, преобразуя строку свойств обратно в 2D-массив. Но у меня возникают трудности с преобразованием строки в 2D-массив.Преобразование «deepToString()» назад в 2D-массив
EDIT: Я хочу изменить вывод строки 2D массива обратно в 2D-массив. Но question, который вы мне дали, не помогает мне с 2D-массивом. Поскольку Arrays.replace() не может заменить внутренний массив 2D-массива.
Вот мой код:
public static void getSettings(){
try {
File file = new File("config.properties");
Properties p = new Properties();
FileInputStream fileInput = new FileInputStream(file);
//Import
moduleNames = p.getProperty("moduleNames").split("");
moduleData = ??? //I don't know how to convert String to String[][]
}
catch (Exception e){
e.printStackTrace();
}
}
Вот еще одна функция, чтобы установить свойство:
public static void writeFile(String[][] mD, String[] mN){
try{
Properties p = new Properties;
File file = new File("config.properties");
p.setProperty("moduleData", Arrays.deepToString("mD"));
p.setProperty("moduleNames", Arrays.toString("mN"));
//...further more code to flush the data out
} catch (Exception e){
e.printStackTrace();
}
}
Может кто-нибудь сказать мне, как преобразовать String (от deepToString) обратно в строку [] []?
Мой проект находится в Open source. Это: Conf.java Line271 - это набор свойств один.
И это: Conf.java Line215 - это нагрузка String на String [] [] one.
Проверить http://stackoverflow.com/questions/456367/reverse-parse-the-output-of-arrays-tostringint – Tom
@Tom Вы можете проголосовать за дубликат. – YoungHobbit
В java API нет метода, который автоматически преобразует это обратно в массив, который я знаю. кто-то уже сделал то, что вам нужно: [stringToDeep] (http://stackoverflow.com/a/22428926/4088809) @YoungHobbit :) –