黑马程序员技术交流社区
标题:
java 上传下载
[打印本页]
作者:
王丽
时间:
2011-7-28 11:03
标题:
java 上传下载
求一个用java写的上传下载文件,没有java web方面的内容的。。。谢谢
作者:
匿名
时间:
2011-7-28 11:33
这个题我有点眼熟哦!是那什么的题把.哈哈
我以前好像做过!
我先找找我以前做过的东西
作者:
王卿
时间:
2011-7-28 11:34
Upload
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
//使用TCP协议写一个可以上传文件的服务器和客户端。
public class UpLoad {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(3000);
Socket socket = ss.accept();
new Thread(new Receive(socket)) {
}.start();
}
}
class Receive implements Runnable {
private Socket socket;
public Receive(Socket socket) {
this.socket = socket;
}
public void run() {
try {
BufferedInputStream bis = new BufferedInputStream(socket
.getInputStream());
byte[] bFileName = new byte[255];
int len = bis.read(bFileName);
String fileName = new String(bFileName, 0, len).trim();
byte[] bytes = new byte[1024];
FileOutputStream fos = new FileOutputStream("d://" + fileName);
BufferedOutputStream bos = new BufferedOutputStream(fos);
len = 0;
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes, 0, len);
}
bos.close();
fos.close();
bis.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
作者:
王卿
时间:
2011-7-28 11:35
UpLoadClient
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.Socket;
public class UpLoadClient {
public static void main(String[] args) throws Exception {
BufferedReader br = null;
String path = null;
String fileName = null;
String ip = null;
while (true) {
System.out.println("请输入文件路径:");
br = new BufferedReader(new InputStreamReader(System.in));
path = br.readLine();
File file = new File(path);
fileName = path.substring(path.lastIndexOf("//") + 1);
if (file.isDirectory() || !file.exists())
System.out.println("路径不正确!");
else
break;
}
System.out.println("请输入服务器地址:");
br = new BufferedReader(new InputStreamReader(System.in));
ip = br.readLine();
System.out.println("确认上传:" + path + "文件吗(y/n)?");
br = new BufferedReader(new InputStreamReader(System.in));
String result = br.readLine();
if ("n".equalsIgnoreCase(result)) {
br.close();
return;
}
Socket socket = new Socket(ip, 3000);
FileInputStream fs = new FileInputStream(path);
byte[] bytes = new byte[1024];
BufferedOutputStream bos = new BufferedOutputStream(socket
.getOutputStream());
while (true) {
if (fileName.getBytes().length < 255)
fileName += "/u0000";
else
break;
}
bos.write(fileName.getBytes());
bos.flush();
int len = 0;
while ((len = fs.read(bytes)) != -1) {
bos.write(bytes, 0, len);
}
bos.close();
fs.close();
br.close();
socket.close();
System.out.println("文件上传完毕!");
}
}
作者:
匿名
时间:
2011-7-28 11:36
就是这两个吧!
作者:
匿名
时间:
2011-7-28 11:59
标题:
回复 楼主 的帖子
这个是那个吧。。。。
作者:
匿名
时间:
2011-7-29 04:46
标题:
感谢
谢谢大家的帮助
作者:
仵先进
时间:
2012-2-29 16:59
王卿 发表于 2011-7-28 11:34
Upload
写的很好,给点注释呀
作者:
李晓俊老师
时间:
2012-3-3 22:54
写得真乱啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2