gpt4 book ai didi

java - 将 "deepToString()"转换回二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 13:19:59 25 4
gpt4 key购买 nike

我想使用此方法将二维数组转换为字符串到属性文件中。然后,通过将属性字符串转换回二维数组来从属性中导入它。但我在将字符串转换回二维数组时遇到困难。

编辑:我想将 2D 数组字符串输出反转回 2D 数组。但是你给我的 Reverse (parse the output) of Arrays.toString(int[]) [duplicate] 对我处理二维数组没有帮助。由于 Arrays.replace() 无法替换二维数组的内部数组。

这是我的代码:

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();
}

}

谁能告诉我如何将字符串(从 deepToString)转换回 String[][]?

我的项目是开源的。这:Java multidimensional Array to string and String to Array 是设置属性之一。

这个:question 是加载 String 到 String[][] 之一。

最佳答案

我找不到任何可以做到这一点的标准方法。但利用 here 的想法,我制定了以下内容:

        String[][] sample = new String[][]{{"Apple", "Ball"},{"Cat", "Dog"}, {"Elephant, Fish"} };
String temp = Arrays.deepToString(sample);
String[] strings = temp.replace("[", "").replace("]", ">").split(", ");
List<String> stringList = new ArrayList<>();
List<String[]> tempResult = new ArrayList<>();
for(String str : strings) {
if(str.endsWith(">")) {
str = str.substring(0, str.length() - 1);
if(str.endsWith(">")) {
str = str.substring(0, str.length() - 1);
}
stringList.add(str);
tempResult.add(stringList.toArray(new String[stringList.size()]));
stringList = new ArrayList<>();
} else {
stringList.add(str);
}
}
String[][] originalArray = tempResult.toArray(new String[tempResult.size()][]);

这还有很大的改进空间,我希望您能做到这一点。这只是为了提示将字符串转换回二维数组。

关于java - 将 "deepToString()"转换回二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33166565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com