Alguém sabe me dizer onde está o erro ? Já tentei de tudo, fiz várias mudanças mas não consigo achar o erro, quando rodo dá o seguinte erro:
java.lang.StringIndexOutOfBoundsException: String index out of range: -5
at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:935)
at java.lang.StringBuffer.substring(StringBuffer.java:480)
at Updater.Main_Gui.getDownloadLinkFromHost(Main_Gui.java:261)
at Updater.Main_Gui.access$100(Main_Gui.java:37)
at Updater.Main_Gui$3.run(Main_Gui.java:107)
O código é:
private void downloadFile(String link) throws MalformedURLException, IOException
{
URL url = new URL(link);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
long max = conn.getContentLength();
outText.setText(outText.getText()+"\n"+"Baixando arquivos...\nTamanho da atualização(comprimida): "+max+" Bytes");
BufferedOutputStream fOut = new BufferedOutputStream(new FileOutputStream(new File("Conchazip")));
byte[] buffer = new byte[32 * 1024];
int bytesRead = 0;
int in = 0;
while ((bytesRead = is.read(buffer)) != -1) {
in += bytesRead;
fOut.write(buffer, 0, bytesRead);
}
fOut.flush();
fOut.close();
is.close();
outText.setText(outText.getText()+"\nDownload Completado!");
}
private String getDownloadLinkFromHost() throws MalformedURLException, IOException
{
String path = "http://site_do_meu_download/4f9981df-27cb-4f6d-9465-8a6f9318fa76.zip";
URL url = new URL(path);
InputStream html = null;
html = url.openStream();
int c = 0;
StringBuilder buffer = new StringBuilder("");
while(c != -1) {
c = html.read();
buffer.append((char)c);
}
return buffer.substring(buffer.indexOf("[url]")+5,buffer.indexOf("[/url]"));
}