java web怎么访问服务器指定路径

java web怎么访问服务器指定路径,第1张

可以把文件目录配置在web.xml文件的初始化参数中, 通过ServletAPI读取文件目录

比如

定义一个Properties文件保存相关配置

#可以上传文件的后缀名

extensions=pptx,docx.doc,txt,jpg,jar

#单个文件的大小1M

fileMaxSize=1048576

#总共上传文件大小5M

totalFileMaxSize=5242880

#文件保存路径

filePath=z:/temp

#临时文件路径

tempDir=z:/temp/temp

使用Listener在服务器启动时加载配置信息

1

2

3

4

5

6

7

8

9

10

11

ServletContext context = event.getServletContext()

InputStream inputStream = context

.getResourceAsStream("/WEB-INF/classes/file/upload/commons/uploadConfig.properties")

Properties properties = new Properties()

try {

properties.load(inputStream)

context.setAttribute("fileConfig", properties)

System.out.println("properties = " + properties.size())

} catch (IOException e) {

e.printStackTrace()

}

在你上传文件时通过配置文件读取路径保存

String filePath = ((Properties) this.getServletContext().getAttribute("fileConfig"))

.getProperty(FileUploadConstants.FILE_PATH)

这个跟java没关系,完全是dos命令

在dos里输入 c: 回车,就到C盘了,其他类似

如果C盘下有abc文件夹,输入cd abc 就可以进去了,cd就是进入文件夹的命令

cd..是退回到上一层目录

cd/ 是退回到根目录

代码如下。。。我测试过了。。。。下面两个类是在同一台机器上进行测试的,先运行Server.java,再运行Client.java

import java.io.*

import java.net.*

import java.text.SimpleDateFormat

import java.util.Date

public class Server {

public static void main(String[] args) throws Exception{

ServerSocket ss = new ServerSocket(8080)

Socket socket = ss.accept()

BufferedReader in = //获取客户端发过来的消息

new BufferedReader(

new InputStreamReader(socket.getInputStream()))

PrintWriter out = //用于向客户端发送消息

new PrintWriter(

new OutputStreamWriter(

socket.getOutputStream()),true)

while(true){

String message = in.readLine()//读取消息

if("quit".equals(message))//退出命令

break

String s[] = message.split("\\s+")

if("dir".equals(s[0])){

File dir = new File(s[1])

File[] files = dir.listFiles()

//向客户端发送文件消息

for(File file:files){

Date date = new Date(file.lastModified())

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd")//日期格式化

FileInputStream is = new FileInputStream(file)

out.println(file.getName()+"\t"+df.format(date)+"\t"+((is.available()+1023)/1024)+"k")

}

out.println("ok")

}

}

socket.close()

in.close()

out.close()

ss.close()

}

}

-------------------------------------------------------------------------------------------------------------

import java.io.*

import java.net.*

public class Client {

public static void main(String[] args) throws Exception{

InetAddress add = InetAddress.getByName(null)

Socket socket = new Socket(add,8080)

BufferedReader in = //获取服务器端发过来的消息

new BufferedReader(

new InputStreamReader(socket.getInputStream()))

PrintWriter out = //用于向服务器端发送消息

new PrintWriter(

new OutputStreamWriter(

socket.getOutputStream()),true)

out.println("dir d:/test")

String mes

while(true){

mes = in.readLine()

if("ok".equals(mes))

break

System.out.println(mes)

}

out.println("quit")

socket.close()

in.close()

out.close()

}

}

希望能帮到你。。。仍有问题可以追问或者直接HI我。。。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/670798.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-27
下一篇2023-07-27

发表评论

登录后才能评论

评论列表(0条)

    保存