易截截图软件、单文件、免安装、纯绿色、仅160KB

java利用Socket网络传递文件

服务器端:
package com.huahua;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerThread extends Thread {
private Socket socket;
public ServerThread(Socket socket) {
super();
this.socket = socket;
}
public void run(){

try {
while(true){
DataInputStream in = new DataInputStream(socket.getInputStream());

//接收保存的路径
String path = "e:\\" + in.readUTF();
//接收的文件长度
long length = in.readLong();

//保存文件
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(
new FileOutputStream(path)));
byte[] buf = new byte[1024];
int len = 0;
while((len=in.read(buf))!=-1){
out.write(buf,0,buf.length);
}
out.flush();
out.close();
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}

public static void main(String[] args){
try {
ServerSocket serverSocket = new ServerSocket(9999);
while(true){
new ServerThread(serverSocket.accept()).start();
}

} catch (IOException e) {
e.printStackTrace();
}
}
}

客户端:
package com.huahua;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
public class Client{
public static void main(String[] args){

FileInputStream fin = null;
DataOutputStream out = null;
try {
Socket socket = new Socket("127.0.0.1",9999);
File file = new File("f:\\张惠妹 - 彩虹.wma");
out = new DataOutputStream(socket.getOutputStream());

//传送文件名称
out.writeUTF(file.getName());
out.flush();

//传送文件长度
out.writeLong(file.length());
out.flush();

//传送文件
fin = new FileIn


相关文档:

How Java handles arguments of a class type.

=====suppose such a method:
public static void openFile(String fileName, PrintWriter stream) throws FileNotFoundException
{
   stream = new PrintWriter(fileName);
}
=====then we want to use it this way:
PrintWriter toFile = null;
try
{
   openFile("data.txt", t ......

Java中的Pattern类和Matcher类

简而言之,这两个类是用来利用正则表达式验证字符串有效性的。
Pattern类用来定义正则表达式规则,Matcher类用来定义要验证的字符串。
用法:
Pattern p = Pattern.compile("a*b"); 
Matcher m = p.matcher("aaaaab"); 
boolean b = m.matches();
当然,也可以直接用Pattern类直接验证,用法:
boolean ......

Java桌面开发笔记

      需要做一个桌面的小东西,由于至今为止只会写Java,所以只有用swing来做了。朋友说Delphi做起来很快,但我没时间去学了,一定要开始横向发展了。
     原来短暂的做过NetBeans的rcp开发,但它的代码组织有点过于复杂,不过我要做的不是很大的东西,但还是想先找Eclips ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号