Instalando o Eclipse no Ubuntu

Por esses dias estou experimentando um pouco mais o mundo opensource, e claro, estou começando pela IDE, além de utilizar a distribuição Ubuntu LTS 14.04 do Linux, também resolvi instalar o Eclipse, e vou colocar aqui com fiz para conseguir fazer isso.

A primeira coisa deve ser feita é a instalação do OpenJDK Java 7, que você instalar no modo macho com o comando abaixo:

$ sudo apt-get install openjdk-7-jre

Ou então pode ir na central de programas, pesquisar e instalar por lá.

Agora é necessário baixar o Eclipse, feito isso dê um Ctrl + Alt + T (para abrir o terminal), agora extrair o Eclipse para /opt/

$ cd /opt/ && sudo tar -zxvf ~/Downloads/eclipse-*.tar.gz</code>

Se não funcionar, coloque o nome completo do arquivo que você baixo, agora vamos utilizar o gksudo para mudar de forma gráfica o nosso atalho (o gksudo serve para isso).

$ gksudo gedit /usr/share/applications/eclipse.desktop

Para ficar mais fácil, coloque tudo isso abaixo dentro do arquivo que for aberto:

[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=Eclipse

Agora, basta pesquisar em seus programas e ver que o eclipse está lá e você pode utilizá-lo, espero que seja de utilidade.

Abs e até a próxima.

Anúncios

Baixar arquivo da Web com Java

Depois de efetuar download de arquivos com C# resolvi fazer o mesmo com Java, como estou estudando essa tecnologia agora talvez tenha alguma forma melhor de fazer do que a eu utilizei, de qualquer forma está bem fácil de entender. Veja o código abaixo:


import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

public class Arquivo {
 public static void main(String[] args) throws IOException {

URL url = new URL("http://localhost/catalog.xml");
 String destino = "C:\\Temp\\catalog_java.xml";

InputStream is = url.openStream();

FileOutputStream fos = new FileOutputStream(destino);

int bytes = 0;

while ((bytes = is.read()) != -1) {
 fos.write(bytes);
 }

 is.close();

 fos.close();
 }
}

Até o próxima!

Conexão com Oracle no Java dentro do Eclipse

Retomei meus estudos com Java, e acredito que algo bem simples como se conectar no banco de dados e efetuar uma consulta simples é o mínimo que eu poderia fazer, com a ajuda de um mestre em Java fiz essa pequena classe.

A primeira coisa que fiz foi definir um novo workspace no Eclipse, denominado CRUD como na figura abaixo:

worksapce

worksapce

Criei um novo Java Project com o nome CRUD, até aqui a estrutura está assim no Package Explorer

package explorer

package explorer

Adicionei um package denominado br.com.crud.acessoDados e adicionei uma classe chamada Principal.java. A estrutura já está assim:

package explorer

package explorer

A classe está da seguinte forma:


package br.com.crud.acessoDados;

public class Principal {
}

Agora vou criar o método main da maneira mais simples possível. E dentro dele crio um objeto do tipo Connection da biblioteca java.sql com o nome conexao que terá como valor o resultado do método ObterConexao().


public class Principal {
	public static void main(String[] args) throws Exception {
		Connection conexao = ObterConexao();

Agora adicionei o import da biblioteca java.sql, a classe está assim:

import java.sql.*;

public class Principal {

public static void main(String[] args) {

Connection conexao = ObterConexao();

}

}

Agora vamos criar o método ObterConexao, ele retornará um objeto do tipo Connection da biblioteca java.sql. Vamos manter o baixo acoplamento com o driver do Oracle nesse método, ao invés de utilizar import do jdbc, vamos passar o driver por uma das sobrecargas que o método getConnection da classe DriverManager tem.

Class.forName("oracle.jdbc.driver.OracleDriver");

conexao = DriverManager.getConnection(

"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");

Vanos adicionar agora dois catch para para esse código, um que verificará se a classe de conexão existe e outro que verificará algum erro de SQL.

catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

Nosso método ficará assim

private static Connection ObterConexao() {
Connection conexao = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conexao = DriverManager.getConnection("jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conexao;
}

Agora vamos testar nossa conexão e fazer uma query muito simples no Oracle, vamos selecionar a data e hora do banco que será essa:


select sysdate from dual

Para executar essa query temos que utilizar um objeto do tipo Statement, também da biblioteca java.sql, e além dele, vamos utilizar um objeto do tipo ResultSet que representará os dados trazidos pelo Statement. O método main ficará assim no final de tudo:

public static void main(String[] args) throws Exception {

Connection conexao = ObterConexao();

Statement statement = conexao.createStatement();

String query = "SELECT sysdate FROM dual";

ResultSet resultSet = statement.executeQuery(query);

if (resultSet.next()) {

System.out.println(resultSet.getDate("sysdate"));

}

}

Esse é o código completo:

package br.com.crud.acessoDados;

import java.sql.*;

public class Principal {
	public static void main(String[] args) throws Exception {
		Connection conexao = ObterConexao();
		Statement statement = conexao.createStatement();

		String query = "SELECT sysdate FROM dual";

		ResultSet resultSet = statement.executeQuery(query);

		if (resultSet.next()) {
			System.out.println(resultSet.getDate("sysdate"));
		}
	}

	private static Connection ObterConexao() {
		Connection conexao = null;

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conexao = DriverManager.getConnection(
					"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return conexao;
	}
}

Com isso evoluí mais um pouco e espero que ajude a comunidade a evoluir também :).

Instalando o SpringSource Tool Suite

Comecei a utilizar essa IDE para desenvolver Java para Web, pois um amigo do trabalho me contou suas melhorias e sua facilidade de uso, essa IDE é baseada no IDE Eclipse, porém vem com algumas coisas a mais, por exemplo o Maven, já está pré-configurado e o Apache Tomcat também.

Acesso o site www.springsource.com, entre no link download e baixe o SpringSource Tool Suite. É necessário efetuar um rápido cadastro antes de baixar o aplicativo.

Execute o aplicativo e siga os passos a seguir.

Aceite os termos de uso.

Informe onde o programa será gravado.

Confirme a criação do diretório do programa.

Informe a pasta onde está o JDK.

Na primeira vez em que o programa é executado é necessário definir o workspace

Aceite os termos de licença.

Utilize o SpringSource Tool Suite.

Aqui está toda a sequência,

Este slideshow necessita de JavaScript.

Compactando arquivos com Java

Certo dia em algum sistema seu que gera arquivos o tempo (e que não pode parar de fazer isso!), você percebe que está ficando sem espaço no servidor, e não pode simplesmentes remover esses arquivos, é necessário que os arquivos permanecem por um bom tempo, tempo o suficiente para acabar com o espaço que você tem, ai sim, você começa a ter um problema.

Bom, pensando nisso comecei a estudar compactação de arquivos, e achei algumas coisas bem interessantes, abaixo está um exemplo de como compactar N arquivos de um diretório, fiz com Java pois estou estudando um pouco essa tecnologia, mas vou postar um exemplo em Dot Net também.

A explicação de como funciona está dentro do código, espero que seja útil à comunidade.

package br.com.ZipA;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.Deflater;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class Exemplo {
public static void main(String[] args) {

// vetor para guardar os arquivos que serão compactados
String[] arquivosEleitosParaCompactacao = new String[3];
arquivosEleitosParaCompactacao[0] = "C:\\Users\\o.casagrande\\Oscar\\estudo\\1.txt";
arquivosEleitosParaCompactacao[1] = "C:\\Users\\o.casagrande\\Oscar\\estudo\\2.txt";
arquivosEleitosParaCompactacao[2] = "C:\\Users\\o.casagrande\\Oscar\\estudo\\3.txt";

byte[] buffer = new byte[1024];

// caminho do arquivo compactado
String arquivoCompactado = "C:\\Users\\o.casagrande\\Oscar\\estudo\\ZipA.zip";

try {

// cria o arquivo zip
ZipOutputStream saidaDeStream = new ZipOutputStream(new FileOutputStream(arquivoCompactado));

// marca o modo de compreensão do arquivo
saidaDeStream.setLevel(Deflater.BEST_COMPRESSION);

// laço para pegar todos os arquivos que serao zipados
for (int i = 0; i &lt; arquivosEleitosParaCompactacao.length; i++)
{
// carrega o arquivo em um stream
FileInputStream entradaDeStream = new FileInputStream(arquivosEleitosParaCompactacao[i]);

// cria uma entrada no zip para o arquivo
saidaDeStream.putNextEntry(new ZipEntry(arquivosEleitosParaCompactacao[i]));

// transfere os dados do arquivo para o zip
int tamanhoArquivo;
while ((tamanhoArquivo = entradaDeStream.read(buffer)) &gt; 0)
{
saidaDeStream.write(buffer, 0, tamanhoArquivo);
}

// fecha a entrada do arquivo no zip
saidaDeStream.closeEntry();

// fecha o arquivo
entradaDeStream.close();
}

// fecha o arquivo zip
saidaDeStream.close();

} catch (Exception e) {

}
}
}