import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class Main {
private static boolean
download(String url, String fname) {
try (FileOutputStream fos = new FileOutputStream(fname)) {
URL target = new URL(url);
ReadableByteChannel rbc = Channels.newChannel(target.openStream());
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
return true;
} catch (IOException e) {
new File(fname).delete();
return false;
}
}
public static void
main(String[] args) {
YTHackTest ht = new YTHackTest("uJ374_1FAfM");
if (YTHackTest.Err.NO_ERR != ht.startHack())
System.out.println("ERROR : HACK");
else {
for (YTHackTest.YtVideoElem ve : ht.getVideoElems()) {
if (!download(ve.url, ve.type.type.name()))
System.out.println("Fail : downlaod: " + ve.url);
}
}
}
}