黑马程序员技术交流社区

标题: 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