1

我正在尝试通过 Ecf Bittorent API 下载 torrent,但每个运行的线程都有 NegativeArraySizeExceptions。

我的代码:

package com.djoxx.freakzlauncher;

import java.io.File;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;

import org.eclipse.bittorrent.ITorrentStateListener;
import org.eclipse.bittorrent.Torrent;
import org.eclipse.bittorrent.TorrentConfiguration;
import org.eclipse.bittorrent.TorrentConfiguration.IDebugListener;
import org.eclipse.bittorrent.TorrentFactory;
import org.eclipse.bittorrent.TorrentFile;
import org.eclipse.bittorrent.TorrentServer;
import org.eclipse.bittorrent.internal.net.TorrentManager;

public class Main {

    /**
     * @param args
     */
    public static void main(String[] args) {

        try {
            ITorrentStateListener stateListener = 
                new ITorrentStateListener() {
            public void stateChanged(int state) {
                switch (state) {
                    case ITorrentStateListener.STARTED:
                        System.out.println("The torrent set-up is starting...");
                    break;
                    case ITorrentStateListener.EXCHANGING:
                        System.out.println("Exchanging pieces with peers...");
                    break;
                    case ITorrentStateListener.STOPPED:
                        System.out.println("The exchanging has stopped...");
                    break;
                    case ITorrentStateListener.FINISHED:
                        System.out.println("The download is now complete...");
                    break;
                }
            }
        };

        File confPath = new File("F:/torrent/");

        if(!confPath.exists())confPath.createNewFile();
            TorrentConfiguration.setConfigurationPath(confPath);
        TorrentConfiguration.setDebugListener(new IDebugListener() {

            @Override
            public void print(String message) {
                System.out.println(message);
            }
        });

        TorrentManager.setStatePath(new File("F:/torrent/"));
        TorrentFile tf = 
            new TorrentFile(new File("C:/Users/Josselin/Desktop/torrent.torrent"));
        tf.setTargetFile(new File("F:/torrent/"));
        final Torrent torrent = TorrentFactory.createTorrent(tf);
        torrent.addTorrentStateListener(stateListener);
        torrent.start();

        /*Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                try {
                torrent.stop();
                } 

                catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }, (long)10000);*/
        } 

        catch (IllegalArgumentException | IllegalStateException | IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

我真的不知道我是如何得到这个异常的,但我认为它可能来自我的互联网连接......

有什么线索吗?

编辑:如果重要的话,我正在使用 JRE 7

Stacktrace(它很大):

The torrent set-up is starting...
Exchanging pieces with peers...
Exception in thread "Thread-28" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-7" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-23" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-5" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-19" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-27" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-12" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-8" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-24" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-25" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-26" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-38" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-39" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-18" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-29" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-21" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-36" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-34" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-48" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-41" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-42" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-45" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-47" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-17" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-49" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.query(PeerConnection.java:478)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:357)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-20" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-40" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-10" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-2" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-35" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-43" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-6" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-13" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-30" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-15" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-9" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.query(PeerConnection.java:478)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:357)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-37" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:328)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
Exception in thread "Thread-3" java.lang.NegativeArraySizeException
    at org.eclipse.bittorrent.internal.net.PeerConnection.processBitfield(PeerConnection.java:756)
    at org.eclipse.bittorrent.internal.net.PeerConnection.query(PeerConnection.java:478)
    at org.eclipse.bittorrent.internal.net.PeerConnection.call(PeerConnection.java:357)
    at org.eclipse.bittorrent.internal.net.PeerConnection.connect(PeerConnection.java:230)
    at org.eclipse.bittorrent.internal.net.PeerConnection.run(PeerConnection.java:1242)
4

0 回答 0