imitando a velocidade de upload em Jav

Gostaria de limitar programaticamente uma operação de upload ou download em Java. Suponho que tudo o que preciso fazer é verificar a velocidade do upload e inserirThread.sleep() dessa forma:

while (file.hasMoreLines()) {
    String line = file.readLine();
    for (int i = 0; i < line.length(); i+=128) {
        outputStream.writeBytes(line.substr(i, i+128).getBytes());
        if (isHittingLimit())
            Thread.sleep(500);
    }
}

O código acima funciona? Caso contrário, existe uma maneira melhor de fazer isso? Existe um tutorial que descreve a teoria?

questionAnswers(3)

yourAnswerToTheQuestion