9 jul 2009

Crear archivos de texto en vb.net

Que tal, en esta caso veremos como crar un archivo de texto en vb.net, verificaremos si existe la carpeta donde se guardara el archivo y si no se creara.

Lo primero es utilizar el espacio de nombre system.IO como se ve en el codigo siguiente:


Imports System.IO ' esta a al principio de todo nuestro codigo

Despues dentro del procedimiento:

Dim sRenglon As String = Nothing
Dim strStreamW As Stream = Nothing
Dim strStreamWriter As StreamWriter = Nothing
Dim ContenidoArchivo As String = Nothing
' Donde guardamos los paths de los archivos que vamos a estar utilizando ..
Dim PathArchivo As String


Dim i As Integer

Try

If Directory.Exists("C:\Capeta") = False Then ' si no existe la carpeta se crea
Directory.CreateDirectory("C:\carpeta")
End If

Windows.Forms.Cursor.Current = Cursors.WaitCursor
PathArchivo = "C:\carpeta\Archivo" & Format(Today.Date, "ddMMyyyy") & ".txt" ' Se determina el nombre del archivo con la fecha actual

'verificamos si existe el archivo

If File.Exists(PathArchivo) Then
strStreamW = File.Open(PathArchivo, FileMode.Open) 'Abrimos el archivo
Else
strStreamW = File.Create(PathArchivo) ' lo creamos
End If

strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default) ' tipo de codificacion para escritura


'escribimos en el archivo

strStreamWriter.WriteLine( "Primera linea en un archivo txt desde visual basic.Net" )


strStreamWriter.Close() ' cerramos

Catch ex As Exception
MsgBox("Error al Guardar la ingormacion en el archivo. " & ex.ToString, MsgBoxStyle.Critical, Application.ProductName)
strStreamWriter.Close() ' cerramos
End Try

11 comentarios:

  1. Muy buena publicacion. Funciona de maravilla

    ResponderEliminar
  2. guau! muy bueno, venía buscando esto desde hace rato, y me funcionó de primera, gracias! (sobra esto: Dim i As Integer, ¿puede ser?). Te hago una consulta, ¿cómo pongo el contenido de la ListBox1 en ese txt? soy novato, estoy aprendiendo de a poco ;)
    de nuevo gracias y felicitaciones por la iniciativa
    Pablo

    ResponderEliminar
  3. Explicame un poco mas y con gusto se te ayuda

    ResponderEliminar
  4. Yo quiero que por ejemplo al pulsar el botón "button1"
    cree un archivo de texto que tenga escrito por ejemplo, lo que dice el label1
    y que se llame lo que dice el label2
    en la ruta c:\

    Me explique? soy novato.

    ResponderEliminar
  5. Muy buenas tardes Pako, soy de Asuncion Paraguay y tengo el siguiente problemita, estoy haciendo una aplicacion mobil con un colector de datos, el programita es para inventario que tiene un simple cuadro de texto que al activarse el lector lee un codigo, lo pasa al cuadro de texto y al darle enter se escribe en un fichero de texto dentro del dispositivo, hasta ahi todo bien, pero me piden que se valide que no se lea dos veces el mismo codigo, o sea no se inserte en el txt dos veces el mismo codigo ya que lo escribo uno debajo del otro.
    te paso mi codigo

    Imports System.IO


    Public Class Form1
    'Dim strStreamW As Stream

    Dim strStreamWriter As StreamWriter
    Dim FilePath As String = ("\Archivos de programa\scan.txt")


    Private Sub txtCodigo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCodigo.KeyPress

    If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
    '
    ' abrir el archivo y escribir el codigo
    '
    strStreamWriter = New StreamWriter(FilePath, True)
    strStreamWriter.WriteLine(txtCodigo.Text)
    '
    ' cerrar el archivo
    '
    strStreamWriter.Close()
    '
    ' limpiar y enfocar el codigo
    '
    Me.txtCodigo.Text = ""
    Me.txtCodigo.Focus()
    End If

    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Close()

    End Sub


    End Class


    Agradeceria mucho tu respuesta.
    mi correo es hportillo@segel.com.py
    Saludos desde Paraguay

    ResponderEliminar
  6. gracias muchas gracias estaba desarrollando un reconocimiento de voz y esto me sirvio bastante para guardar el historial 100 puntos

    ResponderEliminar
  7. Hola tengo un problema estoy creando un log de errores por ejemplo en un caso el log se llena de dos lineas de errores la primera
    1."no se puede hayar la ruta...."
    y la segunda
    2."archivo no encontrado"

    pero cuando la ultima linea se escribe en el txt borra parte de la linea anterior y queda
    1. "hayar la ruta..."
    2. "Archivo no encontrado"

    Que puedo hacer para que no suceda esto.
    Saludos y gracias.

    ResponderEliminar
  8. Si quisiera rutear a un archivo de otra pc cual sería la sintaxis o el formato he estado usando :
    Directory.Exists("\\192.168.10.9\log_errore")
    y así en las demas sentencias...

    ResponderEliminar
  9. Muchas gracias por la información de este blog...

    ResponderEliminar
    Respuestas
    1. Que tal, deberia de funcionar son solo poner la ruta de red donde estaria el archivo, solo hay que reviusar los permisos, te comento, este blog lo cree ya hace tiempo... pero si necesitas ayuda avisame y lo vamos viendo.

      Saludos.

      Eliminar
  10. Este comentario ha sido eliminado por el autor.

    ResponderEliminar