|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Manejo de arquivos com JSPNeste 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 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 Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em JSPComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
||||||||||||||||||
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |