?? copy.java
字號:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JScrollBar;
public class COPY {
String f,f4,f8,addd;
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成方法存根
new COPY("3D Entities","E:\\游戲\\平衡球\\Ballance\\3D Entities","","121.250.218.232").f1();
}
public COPY(String nf4,String nf,String nf8,String naddd){
f4=nf4;
f8=nf8;
addd=naddd;
f=nf;
}
public COPY(){
}
public void fasong() {
try {
InetAddress add = InetAddress.getByName(addd);
String path1="",path2="";
if(f.endsWith(File.separator)){
path1=f4;
path2=f;
}else{
path1=f4+"\\";
path2=f+"\\";
}
File f1 = new File(path2+f8);
if (f1.isDirectory()) {
System.out.println(f1.getAbsolutePath());
Socket d1 = new Socket(add, 1276);
OutputStream d1out=new DataOutputStream(new BufferedOutputStream(d1.getOutputStream()));
byte[] b = ("?"+path1+f8).getBytes();
System.out.println(new String(b));
d1out.write(b);
d1out.flush();
d1.close();
d1out.close();
String[] ss=f1.list();
ServerSocket d2=new ServerSocket(1201);
BufferedInputStream d2in=new BufferedInputStream(d2.accept().getInputStream());
byte[] b2=new byte[1];
d2in.read(b2);
d2.close();
d2in.close();
for(int i=0;ss!=null&&i<ss.length;i++){
new COPY(path1+f8,path2+f8,ss[i],addd).fasong();
System.out.println(ss[i]);
}
}else if(f1.isFile()){
Socket d1 = new Socket(add, 1276);
OutputStream d1out=new DataOutputStream(new BufferedOutputStream(d1.getOutputStream()));
byte[] b = (path1+f8).getBytes();
System.out.println(new String(b));
d1out.write(b);
d1out.flush();
d1.close();
d1out.close();
ServerSocket d2=new ServerSocket(1201);
BufferedInputStream d2in=new BufferedInputStream(d2.accept().getInputStream());
byte[] b2=new byte[1];
d2in.read(b2);
d2.close();
d2in.close();
Socket s1=new Socket(add,2345);
OutputStream out1=new DataOutputStream(new BufferedOutputStream(s1.getOutputStream()));
FileInputStream in1=new FileInputStream(f1);
System.out.println("fa流");
byte[] b1=new byte[500];
int num=in1.read(b1);
while(num!=-1){
out1.write(b1, 0,num);
out1.flush();
num=in1.read(b1);
}
s1.close();
out1.close();
in1.close();
byte[] b3=new byte[300];
ServerSocket d3=new ServerSocket(1236);
BufferedInputStream d3in=new BufferedInputStream(d3.accept().getInputStream());
d3in.read(b3);
add=d3.getInetAddress();
d3.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void jieshou(){
while(true){
try{
InetAddress add;
ServerSocket d3=new ServerSocket(1276);
BufferedInputStream d3in=new BufferedInputStream(d3.accept().getInputStream());
byte[] b3=new byte[300];
d3in.read(b3);
add=d3.getInetAddress();
d3.close();
d3in.close();
String ss=new String(b3).trim();
File f;
if(ss.charAt(0)=='?'){
f=new File(ss.substring(1));
f.mkdir();
System.out.println(f.getAbsolutePath());
Socket d4=new Socket(add,1201);
OutputStream d4out=new DataOutputStream(new BufferedOutputStream(d4.getOutputStream()));
byte[] b4="1".getBytes();
d4out.write(b4);d4out.flush();
d4out.close();
d4.close();
}else{
System.out.println(ss);
f=new File(ss);
f.createNewFile();
Socket d4=new Socket(add,1201);
OutputStream d4out=new DataOutputStream(new BufferedOutputStream(d4.getOutputStream()));
byte[] b4="1".getBytes();
d4out.write(b4);d4out.flush();
d4out.close();
d4.close();
ServerSocket server=new ServerSocket(2345);
BufferedInputStream bserver=new BufferedInputStream(server.accept().getInputStream());
byte[] serverb=new byte[500];
FileOutputStream out=new FileOutputStream(f);
System.out.println("jie流");
int num=bserver.read(serverb);
while (num != -1) {
out.write(serverb, 0, num);
num = bserver.read(serverb);
}
out.flush();
out.close();
server.close();
bserver.close();
Socket d5=new Socket(add,1236);
byte[] b5="1".getBytes();
DatagramPacket d5p=new DatagramPacket(b5,b5.length,add,1236);
OutputStream d5out=new DataOutputStream(new BufferedOutputStream(d5.getOutputStream()));
d5out.write(b5);
d5out.close();
d5.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
public void f1(){
fasong();
try{
InetAddress add = InetAddress.getByName(addd);
Socket d1 = new Socket(add, 1276);
OutputStream d1out=new DataOutputStream(new BufferedOutputStream(d1.getOutputStream()));
byte[] b = ("\\").getBytes();
System.out.println(new String(b));
d1out.write(b);
d1out.flush();
d1.close();
d1out.close();
}catch(Exception e){
}
}
public int f2(String nf){
int length=0;
File fff=new File(nf);
if(fff.isDirectory()){
File[] ffff=fff.listFiles();
for(int i=0;i<ffff.length;i++){
length+=f2(ffff[i].getAbsolutePath());
}
}else{
length+=fff.length();
}
return length;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -