急!(高分求助!)请问如何实现文件传输?(最好有源码) 请各位大侠帮忙,想要实现在异地的两台PC(处于不同的局域网内)互相传输文件的程序,要求在一个机器上定时发文件,另一个机器上接收.请问如何实现?谢啦 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过socket可以实现文件传输,只要彼此的机器在同一个子网下, 服务器端实现代码: import java.io.*; import java.net.*; public class FileServer{ public static void main(String[] args)throws Exception{ //创建文件流用来读取文件中的数据 File file=new File("lishengjie.jpg"); FileInputStream fos=new FileInputStream(file); //创建网络服务器接受客户请求 ServerSocket ss=new ServerSocket(3108); Socket client=ss.accept(); //创建网络输出流并提供数据包装器 OutputStream netOut=client.getOutputStream(); OutputStream doc=new DataOutputStream(new BufferedOutputStream(netOut)); //创建文件读取缓冲区 byte[] buf=new byte[2048]; int num=fos.read(buf); while(num!=(-1)){//是否读完文件 doc.write(buf,0,num);//把文件数据写出网络缓冲区 doc.flush();//刷新缓冲区把数据写往客户端 num=fos.read(buf);//继续从文件中读取数据 } fos.close(); doc.close(); } } 客户方实现代码: import java.io.*; import java.net.*; public class FileClient{ public static void main(String[] args)throws Exception{ //使用本地文件系统接受网络数据并存为新文件 File file=new File("newFile.jpg"); file.createNewFile(); RandomAccessFile raf=new RandomAccessFile(file,"rw"); // 通过Socket连接文件服务器 Socket server=new Socket(InetAddress.getLocalHost(),3108); //创建网络接受流接受服务器文件数据 InputStream netIn=server.getInputStream(); InputStream in=new DataInputStream(new BufferedInputStream(netIn)); //创建缓冲区缓冲网络数据 byte[] buf=new byte[2048]; int num=in.read(buf); while(num!=(-1)){//是否读完所有数据 raf.write(buf,0,num);//将数据写往文件 raf.skipBytes(num);//顺序写文件字节 num=in.read(buf);//继续从网络中读取文件 } in.close(); raf.close(); } } JAVA网络字节序问题 关于jni的一点疑问 static char f = '\65'; 使用jacob时总是报错“com.jacob.com.ComFailException: Can't get object clsid from progid”这是怎么回事? 数组问题 JXTA 聊天软件 怎样去实现 很菜的问题我不会:输入几个字母,要求按ascii排序 问一个关于文件输出流比较奇怪的问题关于FileInputStream和FileOutputStream的. 用eclipse时用packgae老是出错,请看: 請問有誰用過solex這個軟件,是一個網絡測試軟件,我下載後是擴展名為jar的文件,請問怎麼安裝 迷茫了 需求分析还是代码? 散分&求点意见 Java中类对象的共享问题
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货