Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gilnet

[Resolvido] Ler arquivo texto

Recommended Posts

Olá,

 

Estou precisando ler um arquivo texto e fiz da seguinte forma:

 

public partial class App_Form_Pesquisa_RetornoEscelsa : System.Web.UI.Page

{

static string sPath = null;

StreamReader Arquivo;

string linhaAtual;

ArrayList Texto = new ArrayList();

 

protected void Button1_Click(object sender, EventArgs e)

{

sPath = txtBrowser.FileName.ToString();

Label1.Text = sPath;

 

using (Arquivo = new StreamReader("E:\\" + sPath.ToString()))

{

while (!Arquivo.EndOfStream)

{

linhaAtual = Arquivo.ReadLine().ToString();

Texto.Add(linhaAtual);

}

}

txtSaida.Text = Texto[5].ToString();

}

}

 

Não sei se essa é a melhor maneira de fazer mas estou com a seguinte dúvida. Como faço pra extrair a letra do driver onde está o arquivo texto utilizando o componente FileUpLoad(txtBrowser).

 

Obs.: Aceito sugestão para o código acima.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você for ler todo o arquivo basta:

TextReader tr = new StreamReader(Server.MapPath("/App_Data/txt.txt"));
string arquivoLido = tr.ReadToEnd();
tr.Close();
tr.Dispose();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ivan;

 

Mudei o código conforme sua orientação e fiz uma cópia do arquivo a ser lido para a pasta App_Data dentro do site porém, quando rodo a página, apresenta um erro dizendo que o arquivo texto.txt não foi localizado. Na verdade, gostaria de pode ler o arquivo de qualquer pasta na máquina do cliente e não no raiz do site e pra isso estou usando o FileUpLoad mas só estou conseguindo pegar o caminho físico sem a letra do driver.

 

ex. texto.txt mas preciso de: E:\texto.txt

 

Algumas dúvidas: Como faço pra inserir quebra de linha na variável que contém o arquivo lido, pois, preciso que o conteúdo fique armazenado uma linha após a outra.

Como faço para ler o conteúdo da linha 5 dessa variável já que ela não é um ARRAY. ex. Response.Write(ArquivoLido[5]);

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só para poder ler oarquivo primeiro atraves do file upload você tem q enviar o arquivo pro server e depois lê-lo.

Sobre a quebra de linha tem q analizar melhor pra poder fazer!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Fui pesquisando na net e seguindo algumas dicas então cheguei ao código abaixo:

 

public partial class App_Form_Pesquisa_RetornoEscelsa : System.Web.UI.Page
{
    ArrayList Texto = new ArrayList();
    int i = 0;

    protected void Button1_Click(object sender, EventArgs e)
    {
        Local = Request.PhysicalApplicationPath.Substring(0, 2);
        sPath = txtBrowser.FileName.ToString();
        StreamReader SR;
        string S = string.Empty;
        SR = File.OpenText("E:\\" + sPath);
        S = SR.ReadLine();
        i = 0;
        while (S != null)
        {
            S = SR.ReadLine();
            Texto.Add(S.ToString());
            i = i + 1;
            Response.Write(S + "<br>");
        }
        SR.Close();
        Response.Write(Texto[1]);
    }
}

Quando rodo a página, dá o seguinte erro: Referência de objeto não definida para uma instância de um objeto

na linha - Texto.Add(S.ToString());

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK...problema solucionado.

O último código postado, resolveu meu problema e o erro estava na linha Texto.Add(S.ToString()); que na verdade deve ser Texto.Add(S) não contendo o .ToString.

 

 

Mas mesmo assim, continuo aceitando sugestão.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.