java聊天传输文件代码 java 传送文件

我正在做一个java 聊天程序,要实现传输文件功能,求大神指导~~~最好有示例代码。。

如果是HTTP协议和FTP协议的,java版本的见代码

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、合作网站维护、网站推广。

InputStream ios=new URL("文件bom.zip所在的WEB目录/bom.zip").openConnection().getInputStream();

BufferedOutputStream bout=new BufferedOutputStream(new FileOutputStream("c:/存放目录/bom.zip"));

byte buff[]=new byte[1024];

int count;

while((count=ios.read(buff))0){

bout.write(buff, 0, count);

}

ios.close();

bout.close();

利用Java编写一个程序利用Socket,实现网络的点对点文件传输并且能实现聊天,发个给我学习下,好吗?

这个时比较简单的。

package QQ;

import java点虐 .*;

import java.io.*;

import java.sql.*;

import java.util.*;

public class QQServer {

public static void main(String args[]) {

try {

HashMapString , Socket hm = new

HashMapString , Socket() ;

// 服务器到8000端口监听(1)

ServerSocket ss = new ServerSocket

(8000);

while (true) {

System.out.println("服务器正在

8000端口监听.....");

Socket s = ss.accept();

MyService t = new MyService();

t.setSocket(s) ;

t.setHashMap(hm) ;

t.start();

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

class MyService extends Thread {

private Socket s ;

private HashMapString , Socket hm ;

public void setHashMap(HashMapString , Socket hm){

this.hm = hm ;

}

public void setSocket(Socket s){

this.s = s ;

}

public void run() {

try {

// 接收客户端发送来的用户名和密码(2)

InputStream is = s.getInputStream();

InputStreamReader isr = new InputStreamReader

(is);

BufferedReader br = new BufferedReader(isr);

String uandp = br.readLine();

// 拆分用户名和密码(4)

String u = "";

String p = "";

try{

u = uandp.split("%")[0];

p = uandp.split("%")[1];

}catch(Exception e){}

// 到数据库中验证(5)

Class.forName

("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Connection cn = DriverManager

.getConnection(

"jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=qq2",

"sa", "123");

PreparedStatement ps = cn

.prepareStatement("select

username from username where username=? and password=?");

ps.setString(1, u);

ps.setString(2, p);

ResultSet rs = ps.executeQuery();

// 发送确认信息到客户端(7)

OutputStream os = s.getOutputStream();

OutputStreamWriter osw = new

OutputStreamWriter(os);

PrintWriter pw = new PrintWriter(osw, true);

if (rs.next()) {

pw.println("ok");

//将自己的名字发送给HashMap中的其他人

(13)

for(Socket ts : hm.values()){

OutputStream tos =

ts.getOutputStream() ;

OutputStreamWriter tosw = new

OutputStreamWriter(tos) ;

PrintWriter tpw = new

PrintWriter(tosw , true) ;

tpw.println("user%"+u) ;

}

//将其他人的名字发送给自己(13)

for(String tu : hm.keySet()){

pw.println("user%"+tu) ;

}

//将用户名和对应的Socket存入HashMap

(13)

hm.put(u, s) ;

// 接收客户端发送来的信息(11)

while (true) {

String message = br.readLine

();

if(message.equals("exit")){

for(Socket ts :

hm.values()){

OutputStream

tos = ts.getOutputStream() ;

OutputStreamWriter tosw = new OutputStreamWriter(tos) ;

PrintWriter

tpw = new PrintWriter(tosw , true) ;

tpw.println

("exit%"+u);

}

hm.remove(u);

}

String to = message.split

("%")[0];

String mess = message.split

("%")[1];

Socket ts = hm.get(to);

OutputStream tos =

ts.getOutputStream();

OutputStreamWriter tosw = new

OutputStreamWriter(tos);

PrintWriter tpw = new

PrintWriter(tosw, true);

tpw.println("mess%"+mess

+"\n");

System.out.println(message);

}

} else {

pw.println("err");

}

} catch (Exception e) {}

}

}

java编写的聊天程序现在导师要加一个功能 就是在聊天界面弄一个传输文件的按钮可以传送文件

还是流的应用,只不过之前传的字符串,后面的改成字节了;如果之前的代码是你写的之后也应该能写;制定一个简单的协议,比如说文件内容都写出了之后再写出一个特殊的字符;


分享标题:java聊天传输文件代码 java 传送文件
转载注明:http://scyanting.com/article/ddjiioe.html