Galera, seguinte, to subindo um arquivo de backup de sql server no ftp da minha hospedagem.
So que quando eu vou usar o arquivo que esta lá no ftp para fazer restauracao do BD, o arquivo está corrpido.
Alguem sabe o que pode ser?
para fazer upload eu usei a API da apache e segui o tutorial do daniel destro.
segue o codigo.
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.GregorianCalendar;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
public class FTP {
public static void main(String[] args) {
String nomeArquivo = null;
FTPClient ftp = new FTPClient();
try {
ftp.connect("ftp.bla.com.br");
// verifica se conectou com sucesso!
if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
ftp.login("user", "pwd");
} else {
// erro ao se conectar
ftp.disconnect();
System.out.println("Conexão recusada");
System.exit(1);
}
File f = new File("C:\\backups\\backup11");
ftp.changeWorkingDirectory("//public_html//BDBACKUP");
System.out.println("diretorio: "+ftp.printWorkingDirectory());
// para cada arquivo
for (File file : f.listFiles()) {
// abre um stream com o arquivo a ser enviado
InputStream is = new FileInputStream(file);
// pega apenas o nome do arquivo
int idx = file.getName().lastIndexOf(File.separator);
if (idx < 0)
idx = 0;
else
idx++;
nomeArquivo = file.getName().substring(idx, file.getName().length());
// ajusta o tipo do arquivo a ser enviado
if (file.getName().endsWith(".txt")) {
ftp.setFileType(FTPClient.ASCII_FILE_TYPE);
} else if (file.getName().endsWith(".jpg")) {
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
} else {
ftp.setFileType(FTPClient.ASCII_FILE_TYPE);
}
System.out.println("Enviando arquivo " + nomeArquivo + "...");
System.out.println("Tamanho:" +file.length());
System.out.println("Hora Inicio:" +GregorianCalendar.getInstance().getTime());
// faz o envio do arquivo
ftp.storeFile(nomeArquivo, is);
System.out.println("Arquivo " + nomeArquivo
+ " enviado com sucesso!");
System.out.println("Hora Terminio:" +GregorianCalendar.getInstance().getTime());
}
ftp.disconnect();
System.out.println("Fim. Tchau!");
} catch (Exception e) {
System.out.println("Ocorreu um erro: " + e);
System.exit(1);
}
}
}