我是Socket编程的新手。我正在尝试在服务器上写入文件,但是我的代码引发了异常:
java.io.FileNotFoundException: Welcome-PC\IndiraSharing\hadoop.txt (The system cannot find the path specified)
这是我的代码。
Socket s;
ServerSocket server = new ServerSocket(5555);
String serveradd;
serveradd=s.getInetAddress().getHostName();
// System.out.println("Server accepted client");
InputStream input = s.getInputStream();
BufferedReader inReader = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedWriter outReader = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String filename = inReader.readLine();
if ( !filename.equals("") ){
outReader.write("READY\n");
outReader.flush();
}
FileOutputStream wr = new FileOutputStream(new File(serveradd+"\\IndiraSharing/" + filename));
byte[] buffer = new byte[s.getReceiveBufferSize()];
int bytesReceived = 0;
while((bytesReceived = input.read(buffer))>0)
{
wr.write(buffer,0,bytesReceived);
}
找不到目录。该消息令人困惑,因为它涉及“文件”,但是在Java IO中,目录也是文件。
如果您运行:
File dir = new File(serveradd+"\\IndiraSharing")
System.out.println(dir.exists());
它将打印:
false
您可以尝试创建目录结构:
dir.mkdirs();
另外,检查绝对路径是否符合您的期望:
System.out.println(dir.getAbsolutePath());
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句