A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王丽   /  2011-7-28 11:03  /  4305 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求一个用java写的上传下载文件,没有java web方面的内容的。。。谢谢

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 考试题目?

查看全部评分

8 个回复

倒序浏览
黑马网友  发表于 2011-7-28 11:33:09
沙发
这个题我有点眼熟哦!是那什么的题把.哈哈


我以前好像做过!

我先找找我以前做过的东西

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 赶紧想想。

查看全部评分

回复 使用道具 举报
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();  
        }  
    }  
}

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 论坛有发java代码的功能哦。

查看全部评分

回复 使用道具 举报
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("文件上传完毕!");  
    }  
}

评分

参与人数 1技术分 +2 收起 理由
老罗 + 2 下次代码发好点。

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-28 11:36:13
报纸
就是这两个吧!
回复 使用道具 举报
黑马网友  发表于 2011-7-28 11:59:43
地板

回复 楼主 的帖子

这个是那个吧。。。。
回复 使用道具 举报
黑马网友  发表于 2011-7-29 04:46:13
7#

感谢

谢谢大家的帮助

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 呵呵

查看全部评分

回复 使用道具 举报
王卿 发表于 2011-7-28 11:34
Upload

写的很好,给点注释呀
回复 使用道具 举报
写得真乱啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马