我必须让我的套接字将80x80文本文件读入80x80 2d数组。它必须是逐个字符的,并且结果数组必须是文本文件布局的副本,因为它将用于移动鼠标穿过迷宫。我试图使用readNext,但我意识到它的返回类型是int,而nextLine会将整行记录到一个索引中。我卡住了,我发现的所有其他帖子都是在一个数组中读取单词或整数。如果你有时间套接字的协议将是:
ooo
wmw
wpw
所以基本上o =在迷宫之外,m =鼠标,w =墙,p =路径 服务器需要发送一个3x3快照,显示鼠标在每次移动后鼠标位于80x80迷宫内的位置。我无法绕过头来解决这个问题。所以无论如何继承了迄今为止我所拥有的服务器套接字的代码。想象一下80x80字符文本文件,它以图形方式表示迷宫的路径,因为我无法真正复制和粘贴它。我需要在代码中使用什么来填充数组和来回发送协议的想法。我可以让套接字稍后通信
public class serverSocket {
private static ServerSocket server = null;
public static void main (System [] args){
File file = new File("\\MAC\\Users\\Tucker\\mazehardcode.rtf");
FileReader fr = new FileReader(file);
char mazeFile [][]=new char[80][80];
for(int i = 0;i <80;i++){
for(int j = 0; j<80; j++){
mazeFile[i][j]= fr.;
}
}
}
}
答案 0 :(得分:0)
希望我能正确理解你的问题。顺便说一下,你的rtf文件是纯文本吗?
FileReader fr = null;
try {
fr = new FileReader(new File("\\MAC\\Users\\Tucker\\mazehardcode.rtf"));
char[][] mazeFile = new char[80][80];
for (int i = 0; i < 80; i ++) {
fr.read(mazeFile[i]);
// remove code below, just to verify read correctly
for (char c : mazeFile[i]) {
System.out.println(c);
}
// skip the \n, you have to skip 2 if in windows due to \r\n
fr.skip(1);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}