Gerenciamento de arquivos

Executar Programa

Exemplo:

Arquivo: JavaTeste.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class JavaTeste extends JFrame {

   private JButton botao_1;

      public JavaTeste() {

      super("Formulario");
      this.setSize(400,200);
      this.setLocation(50, 100);

      Container ct = this.getContentPane();
      ct.setLayout(null);

      botao_1 = new JButton("Botão 1");

      botao_1.setBounds(50,10,150,40);

      ct.add(botao_1);

      Image Icone = Toolkit.getDefaultToolkit().getImage("icon.gif"); 
      setIconImage(Icone);

      this.setVisible(true);

      botao_1.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {

            try {
            Runtime.getRuntime().exec("C:\\Windows\\System32\\calc.exe"); 
            } catch (IOException s) {
			JOptionPane.showMessageDialog(null, "Programa não existe!");
			}
      }});

	  // ===================
	  // Evento colocado aqui!!!!
	  // ===================

      this.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
      }});

   }
   public static void main(String[] args) {
      new JavaTeste();
   }
}

Retorno do Dos

Arquivo JavaTeste.java

import java.io.*;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class JavaTeste extends JFrame {

private JTextArea area_texto;

public JavaTeste() {

super("Formulario");
this.setSize(500+20,200+38);
this.setLocation(50, 100);

Container ct = this.getContentPane();
ct.setLayout(null);

area_texto = new JTextArea("Dimensões");

area_texto.setLineWrap(true);

JScrollPane barra_de_rolagem = new JScrollPane(area_texto);

barra_de_rolagem.setBounds(0,0,500,200);

ct.add(barra_de_rolagem);

Image Icone = Toolkit.getDefaultToolkit().getImage("icon.gif");
setIconImage(Icone);
try {
Process process = Runtime.getRuntime().exec("java");
InputStream in = process.getInputStream();
int read = in.read();
while(read >=0) {
char c = (char) read;
area_texto.append(String.valueOf(c));
read = in.read();
}
}catch (IOException s){}
this.setVisible(true);

this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});

}
public static void main(String[] args) {
new JavaTeste();
}
}

Funções de Gerenciamento de arquivos

  Copiar Mover Excluir Renomear Tamanho Data
Arquivos Localizar Localizar Localizar Localizar Localizar Localizar
Pastas Localizar Localizar Localizar Localizar Localizar Localizar

Caminho do diretório
Ir Para
Drives

Diretório Arquivo

Lista
Diretório Principal
Voltar
Abrir pasta
Criar Pasta
Isto é uma pasta?

Lista
Executar Programas
Abrir arquivos (extensão) com um programa
Menu: Abrir com...
Escolher programa padrão...
Isto é um arquivo?

 

Caminho do Diretório
 
Ir para
 
Drives
 
Copiar - Arquivo
 
Copiar - Pasta
 
Mover - Arquivo
 
Mover - Pasta
 
Excluir - Arquivo
 
Excluir - Pasta
 
Renomear - Arquivo
 
Renomear - Pasta
 
Tamanho - Arquivo
 
Tamanho - Pasta
 
Tamanho - Arquivo (GByte, MByte, KByte)
 
Tamanho - Pasta (GByte, MByte, KByte)
 
Data - Arquivo
 
Data - Pasta
 
Diretório - Listar
 
Arquivo - Listar
 
Diretório - Isto é uma pasta?
 
Arquivo - Isto é um arquivo?
 
Diretório - Ir para o Diretório Principal
 
Diretório - Voltar
 
Diretório - Abrir Pasta
 
Arquivo - Executar Programas
 
Arquivo - Abrir arquivos (extensão) com um programa
 
Arquivo - Menu: Abrir com...
 
Arquivo - Escolher programa padrão...
 

 

Editando Texto

  • Novo arquivo de texto (Novo)
  • Abrindo um arquivo de texto (Abrir)
  • Editando um arquivo de texto (Editar)
  • Salvando um arquivo de texto (Salvar)
  • Função salvar como... (Salvar como)
  • Fechando um arquivo de texto (Fechar)
  • Localizar
  • Substituir palavras
  • Substituir texto

 

Novo arquivo de texto (Novo)
 
Abrindo um arquivo de texto (Abrir)
 
Editando um arquivo de texto (Editar)
 
Salvando um arquivo de texto (Salvar)
 
Função salvar como... (Salvar como)
 
Fechando um arquivo de texto (Fechar)
 

Salvando varáveis no computador

Variáveis e Matrízes
Salvar Variáveis
Carregar Variáves

 

Código-fonte de salvar e carregar variáveis
 

Outros

compactando arquivo .zip

Arquivo Zip
compactação
descompactação

 

Arquivo: compactacao.java

import java.io.*;
import java.util.zip.*;

public class compactacao {
public static void main(String[] args) {
System.out.println("compactando");
// ======================
// Inicio
// ======================
ZipHelper zp = new ZipHelper();
File ArquivoZip = new File("teste.zip");

File Arquivos[] = new File[2];
Arquivos[0] = new File("texto1.txt");
Arquivos[1] = new File("texto2.txt");
try {
zp.zip(Arquivos, ArquivoZip);
}catch (IOException xa){System.out.println(xa);}
// ======================
// Fim
// ======================
System.out.println("Fim");
}
}

Arquivo: descompactacao.java

import java.io.*;
import java.util.zip.*;

public class descompactacao {
public static void main(String[] args) {
System.out.println("Descompactando");
// ======================
// Inicio
// ======================
ZipHelper zp = new ZipHelper();
File ArquivoZip = new File("teste.zip");
File Diretorio = new File("zzip");
try {
zp.unzip(ArquivoZip, Diretorio);
}catch (IOException xa){System.out.println(xa);}
// ======================
// Fim
// ======================
System.out.println("Fim");
}
}

Arquivo: ZipHelper.java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Stack;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream; 
public class ZipHelper { 
      public void zip(File[] files, File outputFile) throws IOException { 
            if (files != null && files.length > 0) {
                  ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFile));
                  Stack parentDirs = new Stack();
                  zipFiles(parentDirs, files, out);
                  out.close();
            }
      } 
      private void zipFiles(Stack parentDirs, File[] files, ZipOutputStream out) throws IOException {
            byte[] buf = new byte[1024]; 
            for (int i = 0; i < files.length; i++) {
                  if (files[i].isDirectory()) {
                        //se a entrad é um diretório, empilha o diretório e chama o mesmo método recursivamente
                        parentDirs.push(files[i]);
                        zipFiles(parentDirs, files[i].listFiles(), out); 
                        //após processar as entradas do diretório, desempilha
                        parentDirs.pop();
                  } else {
                        FileInputStream in = new FileInputStream(files[i]); 
                        //itera sobre os itens da pilha para montar o caminho completo do arquivo
                        String path = "";
                        for(File parentDir : parentDirs) {
                              path += parentDir.getName() + "/";
                        } 
                        //grava os dados no arquivo zip
                        out.putNextEntry(new ZipEntry(path + files[i].getName())); 
                        int len;
                        while ((len = in.read(buf)) > 0) {
                              out.write(buf, 0, len);
                        } 
                        out.closeEntry();
                        in.close();
                  }
            }
      } 
      public void unzip(File zipFile, File dir) throws IOException {
            ZipFile zip = null;
            File arquivo = null;
            InputStream is = null;
            OutputStream os = null;
            byte[] buffer = new byte[1024]; 
            try {
                  // cria diretório informado, caso não exista
                  if (!dir.exists()) {
                        dir.mkdirs();
                  }
                  if (!dir.exists() || !dir.isDirectory()) {
                        throw new IOException("O diretório " + dir.getName() + " não é um diretório válido");
                  } 
                  zip = new ZipFile(zipFile);
                  Enumeration e = zip.entries();
                  while (e.hasMoreElements()) {
                        ZipEntry entrada = (ZipEntry) e.nextElement();
                        arquivo = new File(dir, entrada.getName()); 
                        // se for diretório inexistente, cria a estrutura e pula pra próxima entrada
                        if (entrada.isDirectory() && !arquivo.exists()) {
                              arquivo.mkdirs();
                              continue;
                        } 
                        // se a estrutura de diretórios não existe, cria
                        if (!arquivo.getParentFile().exists()) {
                              arquivo.getParentFile().mkdirs();
                        }
                        try {
                              // lê o arquivo do zip e grava em disco
                              is = zip.getInputStream(entrada);
                              os = new FileOutputStream(arquivo);
                              int bytesLidos = 0;
                              if (is == null) {
                                    throw new ZipException("Erro ao ler a entrada do zip: " + entrada.getName());
                              }
                              while ((bytesLidos = is.read(buffer)) > 0) {
                                    os.write(buffer, 0, bytesLidos);
                              }
                        } finally {
                              if (is != null) {
                                    try {
                                          is.close();
                                    } catch (Exception ex) {
                                    }
                              }
                              if (os != null) {
                                    try {
                                          os.close();
                                    } catch (Exception ex) {
                                    }
                              }
                        }
                  }
            } finally {
                  if (zip != null) {
                        try {
                              zip.close();
                        } catch (Exception e) {
                        }
                  }
            }
      }
}

Criando um Arquivo para Testes

Compactação

  • Arquivo.test.zip

Descompactação

  • /tmp/imagem.gif
  • /tmp/teste.java

 

Arquivo: FileTest.java