求指教java.io.FileNotFoundException:(文件名、目录名或卷标语法不正确。)无法解决

Franky_jie 2017-02-11 05:54:06
小弟在练习Socket的时候,写了一个根据文件路径获得文件内容的方法,这是用eclipse写的,但是很奇怪,明明文件路径没有错,文件也确实存在,但是很奇怪,发生了java.io.FileNotFoundException:(文件名、目录名或卷标语法不正确。)这个异常。下面是我写的代码[size=24px]
/**
* 获取文件的内容
*
* @param fileName
* @return
*/
public static String getContentFromFile(String fileName) {
StringBuffer content = new StringBuffer();
Scanner scanner = null;
try {
scanner = new Scanner(new FileInputStream(fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while (scanner.hasNextLine()) {
content.append(scanner.nextLine()).append("\r\n");
}
return content.toString();
}
public static void main(String[] args) {
getContentFromFile("‪F:/YoudaoNote/theme/default/attr.xml");
}


[size=24px]从命令行获取的文件路径就可以获取,下面我使用socket方法来从自己的doc命令行获得文件的路径

public static void test5() {

ServerSocket serverSocket;
Socket socket = null;
InputStream is = null;
try {
// 1:创建一个服务端,监听一个端口
serverSocket = new ServerSocket(8888);
System.out.println("已监听8888端口");
// 2:获取一个客户端对象,获取输入流
socket = serverSocket.accept();
System.out.println(socket.getInetAddress());
is = socket.getInputStream();
Scanner scanner = new Scanner(is);
// 获取输出流
PrintWriter pw = new PrintWriter(socket.getOutputStream());
while (scanner.hasNextLine()) {
// 3:接收客户端的一个文件名(绝对路径)
String fileName = scanner.nextLine();
// 4:读取文件
String content = getContentFromFile(fileName);
// 5:把文件返回给客户端
pw.println(content);
pw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}


我用的是win8系统,是不是跟这个有关呢?我快疯了,求各位大神解救
...全文
1086 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧