问题描述
- 求助啊!java文件路径的问题
- 从客户端传入一个文件路径:C:Usersmsg.log
在服务器端接受到后无法获取指定的文件(确定文件路径下文件存在)
服务器端:BufferedReader reader = new BufferedReader( new InputStreamReader(socket.getInputStream()));String str = null;char[] temp = new char[1024];reader.read(temp);str = String.valueOf(temp);DataInputStream dis = new DataInputStream( new FileInputStream(str));
试验过如果在这里直接给str赋值C:Usersmsg.log是可以取到文件的
也试过replaceAll()但是使用str.replaceAll(""""\"");会报错
解决方案
1、先确定temp接收到的值是否正确
2、str.replaceAll(""\""\\"");替换成
解决方案二:
绝对路径就表示一个固定的路径比如:C:Documents and SettingsAll Usersindex.asp 那就表示访问电脑上这个路径上的index.asp 相对就表示基于这个目录下的文件比如: ../index.asp 就是网站目录的这个文件。 所以,最好不要用绝对路径.
解决方案三:
你看取到的str的值是什么呗,可能是编码的问题
你用replaceAll() 想要做什么? replaceAll是正则匹配,用replace就可以了
解决方案四:
str=str.replaceAll(""\""\\""); 请注意第二个参数是8个
解决方案五:
绝对路径就表示一个固定的路径比如:C:Documents and SettingsAll Usersindex.asp 那就表示访问电脑上这个路径上的index.asp 相对就表示基于这个目录下的文件比如: ../index.asp 就是网站目录的这个文件。 所以,最好不要用绝对路径.
时间: 2024-09-08 21:22:39