比如
定义一个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.javaimport 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我。。。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)