我有一个简单的程序,涉及保存到文本文件/ 2D数组并从中读取。问题是存储在2D阵列中的字符串可能包括空格。我似乎无法找到一种方法来读取/写入忽略空格但仍然包含它们的文件。我可以对这两个功能做出哪些改变?
从文件中读取:
public static void getArrayData(String [][] array){
try {
Scanner scan2 = new Scanner(new File("arrayData.txt"));
for(int i=0; i<array.length; i++)
{
for(int j=0; j<array[i].length; j++)
{
if ( ! scan2.hasNext() )
return;
array[i][j]=scan2.next();
}
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
写入文件:
public static void Save(String [][] array){
try {
PrintWriter writer = new PrintWriter(new File("arrayData.txt"));
for(int x=0; x<array.length; x++){
for(int y=0; y<array[x].length; y++){
writer.write(String.valueOf(array[x][y] + " "));
}
writer.println();
}
writer.flush();
writer.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
解决方案越简单越好,因为我仍然是非常新手。
提前致谢
答案 0 :(得分:1)
使用nextLine
代替next
来阅读整行。
array[i][j]= scan2.nextLine();