Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Manual de JSP
SEÇÕES
Manuais relacionados
+Manual de JSP
Categorias
+JSP

Índice do Manual Manual de JSP
+ O que é JSP
+ Comparando JSP com ASP
+ Conexão a um database server com JSP
+ Construção dinâmica de menus de seleção utilizando JSP
+ Instalação de Tomcat para utilizar servlets ou JSP
+ Uso de XML e XSL em JSPs
+ Manejo de arquivos com JSP

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Manejo de arquivos com JSP

Neste explicaremos basicamente a leitura, modificação e escritura de arquivos de texto. Para isto construiremos a classe FileManager que, através de seus métodos, permitirá executar tais operações.


Os comentários escritos dentro do código, explicam passo a passo que coisa está sendo executada em cada momento.

  • A função readFile, dado um nome de arquivo (com o "caminho" incluído. Ex. D:\files\prova.txt), devolve um objeto de tipo StringBuffer com o conteúdo do mesmo.
  • O método saveFile , toma como primeiro parâmetro o nome do arquivo que se deseja gerar ou modificar, o segundo parâmetro é o conteúdo que se deseja introduzir no tal arquivo. Por fim, o terceiro parâmetro é uma variável do tipo boolean, que se recebe o valor "true" , agrega a informação recebida no final do arquivo (si este arquivo existir). Se, em troca, recebe "false" como parâmetro, apaga o conteúdo atual do arquivo e o substitui com o segundo parâmetro.
  • Finalmente a terceira função serve para buscar um ou mais valores dentro de um arquivo de uma cadeia de texto e substitui-los por uma série de valores dados.

    Por exemplo, poderia ser usado deste modo:

    String[] busca = {"NOME","SOBRENOME"};
    String[] substituo = {"FERNANDO","ARTURI"};
    FileManager fm = new FileManager();
    String resultado = fm.replaceValues("D:\myFiles\prova.txt", busca, substituo);

A seguir o código da classe:

package notas;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.FileNotFoundException;

/**
* <p>Title: FileManager</p>
*
* <p>Description: Manejo de arquivos de texto</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* @author Fernando Arturi
* @version 1.0
*/

public class FileManager {

public void FileManager(){}

   /**
   * O metodo readFile le um arquivo de texto e retorna seu conteudo em
    * formato de StringBuffer
   * @param filename String
    * @return StringBuffer
   */

public StringBuffer readFile(String filename){
   StringBuffer sb = new StringBuffer();
   try{
       /**
      * Aqui criamos um objeto File que representa o arquivo de texto que
       * queremos ler
       */
       File file = new File(filename);

      /**
       * Variavel temporaria que usaremos para ler cada uma das linhas do
       * arquivo de texto
       */
      String line = null;

      /**
       * BufferReader - Eh o encarregado de ler o arquivo de texto.
      * O construtor recebe como parametro um objeto FileReader, que
       * a s vez recebe o objeto File criado precedentemente.
       */

      BufferedReader br = new BufferedReader(new FileReader(file));

      /**
       * Atraves deste ciclo o BufferReader le todo o arquivo, e vai acumulando (sb.append) em um StringBuffer
       */
       while ((line = br.readLine()) != null) {
         sb.append(line);
       }

      /**
      * No final da leitura fechamos o objeto
      */
      br.close();

    } catch (FileNotFoundException fnfe){
       /**
      * Se damos um nome de arquivo que nao existe o sistema gera automaticamente um erro.
       */
          System.out.println("Nao foi possivel encontrar o arquivo "+ filename);
   }
   catch (IOException ioe){
      /**
       * Foi produzido um erro durante a leitura do arquivo
      */
       System.out.println("Foi produzido um erro durante a leitura do arquivo "+ filename);
    }
   return sb;
}

/**
* Este metodo permite, dada uma cadeia de caracteres determinada,
* salvar a mesma como um arquivo de texto, ou agrega-la a um arquivo ja existente
*
* @param filename String
* @param dataToWrite String
* @param append boolean
*/
public void saveFile(String filename, String dataToWrite, boolean append) {
   try {
       /**
       * Criacao do objeto FileWriter dado um nome de arquivo determinado
       * O segundo parametro (append) contem um valor booleano que
       * indica se a informacao recebida deve ser agregada no final do
      * arquivo ou, caso contrario, substituir a informacao ja
      * existente.
       */
      FileWriter fw = new FileWriter(filename, append);

      /**
       * Escritura da informacao no arquivo
       */
       fw.write(dataToWrite);

      /**
       * fecha-se o arquivo
       */
      fw.close();
   } catch (IOException ioe) {
       /**
       * Foi produzido um erro durante a leitura/escritura do arquivo
       */
      System.out.println(
          "Foi produzido um erro durante a leitura do arquivo " + filename);
    }
}


/**
* Esta funcao permite, dado um arquivo em particular, buscar dentro o mesmo
* determinados valores e muda-los por uma serie de novos valores dados,
* gerando um objeto de tipo String com o resultado
*
* @param path String
* @param valuesToSearch String[] Ejemplo {"NOME", "SOBRENOME"}
* @param valuesToReplace String[] Ejemplo {"Fernando Augusto", "Arturi"}
* @return String
*/
public String replaceValues (String path, String [] valuesToSearch, String [] valuesToReplace){
String line;
StringBuffer textComplete = new StringBuffer();
String tempText = "";

/**
* Leitura do arquivo de texto dado
*/
try {
    BufferedReader br = new BufferedReader(new FileReader(path));
   while ((line = br.readLine()) != null){
       textComplete.append(line);
   }
   br.close();

} catch (FileNotFoundException fnfe){
    /**
    * Se damos um nome de arquivo que nao existe o sistema
    * gera automaticamente um erro.
    */
    System.out.println("Nao foi possivel encontrar o arquivo "+ filename);
}

catch (IOException ioe) {
   /**
    * foi produzido um erro durante a leitura/escritura do arquivo
   */
   System.out.println(
       "Foi produzido um erro durante a leitura do arquivo " + filename);
}

/**
* Uma vez completada a fase de leitura do arquivo, passamos a
* busca e substituicao dos valores dados.
* Para isto geramos um ciclo que percorremos tantas vezes como valores
* que tivermos que processar.
*/
for (int i=0; i<valuesToSearch.length; i++){
    int position = textComplete.indexOf(valuesToSearch[i]);
   if (position>0 ){
      tempText = textComplete.substring(0,position);
       /**
       * busca e substituicao da cadeia.
       */
      tempText = tempText + valuesToReplace[i] + textComplete.substring(position+valuesToSearch[i].length(),textComplete.length());
       textComplete = new StringBuffer(tempText);
   }
  }
  return tempText;
}

}

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Manual de JSP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em JSP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites