ArquivoUtil.java :  » Client » formulariovalidacao » formulariovalidacao » util » Android Open Source

Android Open Source » Client » formulariovalidacao 
formulariovalidacao » formulariovalidacao » util » ArquivoUtil.java
package formulariovalidacao.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;


/**
 * Utilitrio para ler arquivos.
 */
public class ArquivoUtil {

    /** Charset padro: ISO-8859-1. */
    private static final Charset CHARSET_PADRAO = Charset.forName("ISO-8859-1");

    private static ArquivoUtil instancia = new ArquivoUtil();

    /**
     * Construtor protegido, padro singleton.
     */
    protected ArquivoUtil() {
        //Permite herana
    }

    /**
     * Retorna instancia.
     * 
     * @return instancia
     */
    public static ArquivoUtil get() {
        return instancia;
    }

    /**
     * L um arquivos texto passado como parmetro.
     * 
     * @param path caminho do arquivo a partir da raiz do projeto
     * @return {@link List} com as linhas do arquivo
     */
    public static List<String> lerArquivoTexto(String path) {
        List<String> linhas = new ArrayList<String>();

        //InputStream is = ClassLoader.getSystemResourceAsStream(path);
        InputStream is = ClassLoader.getSystemResourceAsStream(path);
        BufferedReader in = new BufferedReader(new InputStreamReader(is, CHARSET_PADRAO));

        try {
            String linhaArquivo;
            while ((linhaArquivo = in.readLine()) != null) {
                linhas.add(linhaArquivo);
            }
        } catch (IOException e) {
            //LOGGER.error("Erro ao ler arquivo txt.", e);
        } finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (IOException ex) {
                //LOGGER.error("Erro ao fechar o arquivo txt.", ex);
            }
        }
        return linhas;
    }

    /**
     * Cria arquivo no diretrio temporrio do sistema operacional.
     * 
     * @param nomeArquivo nome do arquivo a ser criado.
     * @param conteudoArquivo contedo do arquivo em bytes
     * @return caminho absoluto do arquivo
     */
    public String criarArquivoTemp(String nomeArquivo, byte[] conteudoArquivo) {
        File arquivo = new File(System.getProperty("java.io.tmpdir") + nomeArquivo);
        FileOutputStream streamSaida = null;
        try {
            streamSaida = new FileOutputStream(arquivo);
            streamSaida.write(conteudoArquivo);
            return arquivo.getAbsolutePath();
        } catch (FileNotFoundException e) {
            throw new IllegalStateException("Arquivo no encontrado.", e);
        } catch (IOException e) {
            throw new IllegalStateException(e);
        } finally {
            try {
                if (streamSaida != null) {
                    streamSaida.close();
                }
            } catch (IOException e) {
                //LOGGER.error("No foi possvel fechar o recurso.", e);
            }
        }
    }
    
    public static void main(String[] args) {
    List<String> textos = lerArquivoTexto("teste.txt");
    System.out.println(textos.size());
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.