[英]how to write 2D char array into a file
如何将2D char数组写入文件。 我到处都在寻找解决方案,但没有找到答案。
void printDATA(){
String[][] stringArray = Arrays.copyOf(data, data.length, String[][].class);
char[][] charArray = new char[stringArray.length][stringArray[0].length];
for(int i = 0; i < stringArray.length; i++)
{
for(int j = 0; j < stringArray[0].length; j++)
{
charArray[i][j] = stringArray[i][j].charAt(0);
}
}
File file = new File("result.doc");
try {
//FileWriter fout = new FileWriter(file);//Gives error
PrintWriter fout = new PrintWriter(file);//This also gives error
fout.write(charArray);
fout.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Writer API不支持写入数组数组。 仅是int
(应该实际上是char
), String
或char[]
。 循环遍历数组以进行写入。
for (int i = 0; i < charArray.length; i++) {
fout.write(charArray[i]);
}
您可能还希望输入换行符。
伪代码:
for(int i =0;i< 1st dimension; i++)
{ for(int j =0;j< 2nd dimension; j++)
{
write (array[i][j])
write (some symbol)
}
write (some other symbol)
}
然后,当您要从文件中读取时,您将需要记住定界符号。
然后,您将需要将整个文件读取为String并使用第一个符号和第二个符号对其进行分割。
例如,让我们采用以下2D数组:
苹果橙菠萝。
香蕉番茄葡萄。
您可以将其作为一维字符串写入文件,例如:apple,orange,apple; banana,tomato,grape;
然后,当您以字符串形式读取文件时,分割成“;” 并获得:苹果,橙子,菠萝香蕉,番茄,葡萄
然后将每个分割为“,”,然后重新构建2D阵列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.