Abrindo Arquivos Com Java



Fala galera! Eu a pouco tempo, estava precisando abrir arquivos via java, e encontrei alguma dificuldade com isso. Depois de muito "penar", descobri finalmente como fazer e venho aqui lhes repassar esta dica que um dia também lhes será útil! Vamos lá!


Neste exemplo, vamos executar um aplicativo usando o programa java.
 Este exemplo utiliza a classe Process  que está contida no pacote Lang e estende-se a classe Object . O método Runtime.exec () cria um processo natural e retorna uma instância de uma subclasse da classe Process. Este exemplo é então utilizado para controlar o processo, e, para obter a informação sobre o mesmo. A classe Process fornece métodos para a realização de entrada, saída de espera, verificação do status de saída, e destruir (matar) o processo. O Runtime.exec () pode não funcionar bem para os processos de janelas, processos daemon, processos Win16/DOS sobre Microsoft scripts do Windows, ou shell.


A classe Runtime contida no pacote java.lang e amplia o objeto da classe. Toda aplicação Java tem uma única instância de Runtime. O tempo de execução de corrente pode ser obtida usando a getRuntime (). Qualquer aplicativo não pode criar sua própria instância de classe de tempo de execução. 
O método utilizado: 
exec (String comando): Este método é usado para executar o comando. Aqui comando é um comando do sistema especificado. Também pode ser usada para executar qualquer exe..   


import java.io.IOException; 
public class RuntimeExec{
  public static void main(String[] args){
  try
  {
  Process process = Runtime.getRuntime()
.exec
("notepad.exe");
  }catch (IOException e)
  {
 e.printStackTrace();
  }
  }
}

Para executar um arquivo utilize desta forma:

String arquivo = "C:\\TESTE.DOC"; 
Runtime.getRuntime().exec("cmd /c "+arquivo); 

Se este arquivo estiver em uma pasta protegida como C:/Arquivos de Programas, seu código não funcionará a menos que, utilize da seguinte forma:

  1. String comando = "C:\\Arquivos de Programas\\xxx.doc";  
  2. try {  
  3.     Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+comando);   
  4. catch (IOException e) {  
  5.     e.printStackTrace();  
  6. }  
Pois com estas chamadas de Dlls, você recebe permissão para abrir estes arquivos.

Então é isso galera, uma coisa que aparentemente é simples, mas que ainda dá muita dor de cabeça! Abraços e bons códigos!

Comentários

  1. Tem como enviar parâmetros? Exemplo:
    Mandar um texto para o notepad?

    ResponderExcluir
  2. Caro Paulo, para esta função que desejas, deves utilizar uma biblioteca específica para isso, exemplo, para enviar dados para excel você utiliza o JexcelAPI. Provavelmente deve haver uma para o notepad... Abraços! Bruno Rafael.

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular