java吧 关注:1,271,980贴子:12,780,425

回复:你是来白嫖代码的吗?

只看楼主收藏回复

6


IP属地:陕西来自iPhone客户端48楼2023-06-30 21:05
回复
    世界上什么人都有,我看他就是要白嫖


    来自Android客户端49楼2023-07-01 07:33
    回复
      2025-07-31 23:35:34
      广告
      不感兴趣
      开通SVIP免广告
      分片麻烦在前端,web端还好,小程序端做分片问题很大


      IP属地:四川来自Android客户端50楼2023-07-02 20:04
      回复
        要实现Java文件切片多线程上传,可以按照以下步骤进行:
        读取需要上传的文件,并将其按照固定大小切片成多个小文件。
        创建多个线程,每个线程负责上传一个小文件。
        使用多线程上传小文件,可以使用Java的FTP或HTTP协议,或者使用第三方库,例如Apache Commons Net或JSch。
        等待所有线程上传完成后,可以删除本地的小文件。
        下面是一个简单的示例代码,用于将大文件切片成多个小文件,并使用多线程上传:
        java复制代码
        import java.io.File;
        import java.io.FileInputStream;
        import java.io.IOException;
        import java.io.InputStream;
        import java.util.concurrent.ExecutorService;
        import java.util.concurrent.Executors;
        public class FileUploader {
        private static final int CHUNK_SIZE = 1024 * 1024; // 每个小文件的大小
        private static final int NUM_THREADS = 4; // 线程数
        public static void main(String[] args) throws IOException {
        File sourceFile = new File("path/to/source/file");
        byte[] buffer = new byte[CHUNK_SIZE];
        int bytesRead;
        InputStream inputStream = new FileInputStream(sourceFile);
        long fileSize = sourceFile.length();
        long currentOffset = 0;
        ExecutorService executorService = Executors.newFixedThreadPool(NUM_THREADS);
        while ((bytesRead = inputStream.read(buffer)) != -1) {
        int chunkIndex = (int) (currentOffset / CHUNK_SIZE);
        byte[] chunkBytes = new byte[bytesRead];
        System.arraycopy(buffer, 0, chunkBytes, 0, bytesRead);
        currentOffset += bytesRead;
        executorService.submit(() -> uploadChunk(chunkBytes, chunkIndex));
        }
        executorService.shutdown();
        inputStream.close();
        }
        private static void uploadChunk(byte[] chunkBytes, int chunkIndex) {
        // 在这里实现小文件的上传逻辑,例如使用FTP或HTTP协议上传
        // chunkBytes是当前小文件的数据,chunkIndex是小文件的索引号
        }
        }
        在上面的示例代码中,我们首先定义了每个小文件的大小和线程数。然后,我们使用Java的文件输入流读取需要上传的大文件,并将文件切片成多个小文件。每个小文件的数据存储在一个字节数组中,并通过多线程上传。在uploadChunk方法中,我们可以实现具体的上传逻辑,例如使用FTP或HTTP协议上传小文件。最后,我们等待所有线程上传完成后,关闭输入流。


        IP属地:陕西51楼2023-07-03 18:03
        回复
          遇到过坑的,先喊你写方案,然后还提要求改,直接不卵他了,白嫖还提要求可还行


          IP属地:四川来自Android客户端52楼2023-07-03 19:07
          回复
            白嫖是不至于的,这种功能正常公司都用自己的通用模块解决。但是让人白写一份代码确实过分了😢


            IP属地:重庆来自Android客户端53楼2023-07-04 11:56
            回复
              我做过不光能分片还多线程。


              IP属地:湖北来自Android客户端54楼2023-07-05 06:38
              回复
                这种直接不理


                IP属地:上海来自Android客户端56楼2023-07-10 13:22
                回复
                  2025-07-31 23:29:34
                  广告
                  不感兴趣
                  开通SVIP免广告
                  让他滚


                  IP属地:福建来自Android客户端57楼2023-07-14 12:24
                  回复
                    【java核心知识点解析!黑马20年名师生动讲解,深入浅出,大厂必备,高薪必学!】 https://www.bilibili.com/video/BV1Ug4y1w7hx/?share_source=copy_web&vd_source=fe7241410b25a5759ed252dfefea54b9


                    IP属地:湖北58楼2023-07-14 14:09
                    回复