whyclj
2019-07-26 5d739fbf09719fc4e7f86b3ced0ee174c27a5de7
服务器端修改接收数据库备份文件是压缩包时bug
2个文件已修改
14 ■■■■ 已修改文件
DataBase_Bakeup_SocketServer/src/com/main/FileTransferServer.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataBase_Bakeup_SocketServer/src/com/main/HzipServer.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DataBase_Bakeup_SocketServer/src/com/main/FileTransferServer.java
@@ -17,7 +17,7 @@
 */
public class FileTransferServer extends ServerSocket {
 
    private static final int SERVER_PORT = 8899; // 服务端端口
    private static final int SERVER_PORT = 10100; // 服务端端口
 
    private static DecimalFormat df = null;
 
@@ -74,6 +74,8 @@
                // 文件名和长度
                String fileName = dis.readUTF();
                long fileLength = dis.readLong();
                System.out.println(fileName+"====="+fileLength);
                File directory = new File("D:\\FTCache");
                if(!directory.exists()) {
                    directory.mkdir();
DataBase_Bakeup_SocketServer/src/com/main/HzipServer.java
@@ -41,7 +41,7 @@
            InputStream ins = socket.getInputStream();
            ZipInputStream zis=new ZipInputStream(ins);
            
            String rootDir=null;
            String rootDir="REGULAR_BACKUP";
            //在此次连接中,是否是第一次读到ZipEntry.读到的第一个Entry,就是正在被传输的文件夹。
            boolean isFirst=true;
            String savePath="D:"+File.separator+MYSQLBACKUPDIR+File.separator;
@@ -59,6 +59,7 @@
            while( (ze=zis.getNextEntry())!=null  )
            {
                String name=ze.getName();
                System.out.println(name);
                File file=null;
                if(ze.isDirectory())
                {
@@ -96,7 +97,12 @@
                }
                else
                {
                    int index=name.indexOf(rootDir);
                    int index;
                    if(isFirst) {
                        index = name.lastIndexOf("\\");
                    }else {
                        index=name.indexOf(rootDir);
                    }
                    String tempFileDir=name.substring(index,name.length());
                    file=new File(savePath+tempFileDir);
                    fos=new FileOutputStream(file);