Aplicação desktop capaz de receber um arquivo.zip ou tar.gz de um usuário, e vincular no DB

Olá, galera.

Eu estou tentando criar um programa desktop capaz de receber um arquivo.zip ou tar.gz de um usuário, porem não sei como fazer isso.

A ideia é a seguinte:

O Usuario Localiza o Arquivo.zip ou .tar.gz no micro dele e clica em enviar, o sistema faz o upload desse arquivo para uma url e salva dados descrição e data no banco de dados.

Andei pequisando e achei alguns materiais que usavam JSP e SERVLET, porem meu objetivo é uma aplicação desktop.

Alguem poderia me ajudar???

é uma app cliente servidor ou local?

Cliente Servido

vamos la se eu entendi bem vc tem uma app local e uma base de dados local e quer que o user selecione um arquivo e vc quer colcoar nes banco local…

é isso?

Mais ou menos,

Eu quero que o usuario envie o arquivo.zip ou arquivo.tar.gz para uma url do servidor da rede local, e em seguida inclua o banco o nome do arquivo junto a outros dados como descrição e a data da inclusão. Esse arquivos podem ser Programas, Driver, Texto qualquer coisa desde que esteja compactado. O banco não é problema o que eu to tendo dificuldade de fazer é enviar o arquivo desta forma para a url do servidor

http://www.guj.com.br/posts/list/112879.java#608567

Ainda Não Funcionou, o que eu vi antes, é algo nesse estilo. Eu to precisando de algo mais ou menos assim. A unica diferença é que eu não posso usar JARs de nenhum WebServer, pois é desktop.

package modelo.auxiliar;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

import com.sun.corba.se.spi.activation.Server;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;

//Usando Tomcat
public class Upload extends HttpServlet{

public String enviaArquivo(HttpServletRequest request)throws Exception {
String fileName = “”;

try{
boolean isMultipart = FileUpload.isMultipartContent(request);
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(1024102480); // 80 Mb é o tamanho máximo do zip
List items = upload.parseRequest(request);

Iterator itr = items.iterator();

while(itr.hasNext()) {
FileItem item = (FileItem) itr.next();

if(!item.isFormField()) {

File fullFile = new File(item.getName());
String nome = fullFile.getName();//pega o nome do arquivo
String extensao=nome.substring(nome.length()-3,nome.length());//pega a estenção do arquivo
fileName = nome+"."+extensao;

if (extensao.equalsIgnoreCase(“ZIP”)||extensao.equalsIgnoreCase(“TAR.GZ”)) {
File savedFile = new File(getServletContext().getRealPath(“C:/ArquivosMMS/”),fullFile.getName());
//File savedFile = new File(getServletContext().getRealPath("//10.0.9.1/ArquivosMMS/"),fullFile.getName());
item.write(savedFile);
}
else {
throw new Exception(“Não enviando. Use apenas *.ZIP ou *.TAR.GZ!”);
}
}
}
}
catch(Exception e)
{
throw new Exception(“Erro: O Upload não Pode ser Completo!”);
}
return “Arquivo " + fileName + " adicionado com sucesso!” ;
}
}