como comparar contenido en archivos
Publicado por Dante (1 intervención) el 20/02/2008 02:01:31
hola
mi problema es el siguiente, tengo unos archivos *.doc en una carpeta y deseo crear un buscador interno, para desplegar el nombre de los archivos.doc que contengan una palabra que ingrese el operador.
esto es más o menos lo que tengo en la pag .aspx
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Private dir As DirectoryInfo
Private f As FileInfo
Private strDir As string
dim nomarch as string
Sub buscar(obj As object, e As eventargs)
strDir = "d:legajos ormas"
dir = New DirectoryInfo(strDir)
For Each f In dir.GetFiles("*.*")
nomarch = f.name
Dim fs As New FileStream(Server.MapPath(nomarch), FileMode.Open,FileAccess.Read)
Dim objLector As New StreamReader(fs)
??????????
while objLector.Peek() > -1
lblMensaje.Text += Server.HTMLEncode(objLector.ReadLine) & "<br>"
End While
objLector.Close
fs.close
if ?????? then
lblMensaje.Text += f.Name & "<br>"
end if
Next
End Sub
</script>
<html><body>
<h1>Buscador Interno del Sitio</h1>
<form runat="server">
<b>Ingrese Palabra a buscar:</b>
<asp:Textbox id="palabra" runat="server" />
<asp:Button Text="Enviar" runat="server" Onclick="buscar" />
<asp:label id="lblMensaje" runat=server
maintainstate=false />
</form>
</body></html>
con esto logro leer los archivos listar sus nombres y contenidos (aunque si son muy grandes me da un error que me dice que expiro el tiempo) si son cortos no habría problemas aunque no lo probe con gran cantidad de documendos.doc
como veran puedo abrir los archivos lo que no sé, cual es la sentencia que debo utilizar para comparar o comprobar si la palabra que ingrese el usuario esta contenidad en los archivos para que en base a eso si se cumplio esta condicion mediante el if ?????? liste el nombre del archivo, sino pase al proximo.. con ?????? indico donde a mi parecer tendria que escribir el codigo para buscar la palabra y la condicion........pespero haberme explicado bien.
debo aclarar que me estoy iniciando en asp.net asi que mis conocimientos son muy escasos
si alguien puede ayudarme con el codigo que me falta o me puede oritentar sobre como hacerlo, o indicarme si existe alguna otra manera mejor...desde ya le estare muy agradecido...
mi problema es el siguiente, tengo unos archivos *.doc en una carpeta y deseo crear un buscador interno, para desplegar el nombre de los archivos.doc que contengan una palabra que ingrese el operador.
esto es más o menos lo que tengo en la pag .aspx
<%@ Import Namespace="System.IO" %>
<script language="VB" runat="server">
Private dir As DirectoryInfo
Private f As FileInfo
Private strDir As string
dim nomarch as string
Sub buscar(obj As object, e As eventargs)
strDir = "d:legajos ormas"
dir = New DirectoryInfo(strDir)
For Each f In dir.GetFiles("*.*")
nomarch = f.name
Dim fs As New FileStream(Server.MapPath(nomarch), FileMode.Open,FileAccess.Read)
Dim objLector As New StreamReader(fs)
??????????
while objLector.Peek() > -1
lblMensaje.Text += Server.HTMLEncode(objLector.ReadLine) & "<br>"
End While
objLector.Close
fs.close
if ?????? then
lblMensaje.Text += f.Name & "<br>"
end if
Next
End Sub
</script>
<html><body>
<h1>Buscador Interno del Sitio</h1>
<form runat="server">
<b>Ingrese Palabra a buscar:</b>
<asp:Textbox id="palabra" runat="server" />
<asp:Button Text="Enviar" runat="server" Onclick="buscar" />
<asp:label id="lblMensaje" runat=server
maintainstate=false />
</form>
</body></html>
con esto logro leer los archivos listar sus nombres y contenidos (aunque si son muy grandes me da un error que me dice que expiro el tiempo) si son cortos no habría problemas aunque no lo probe con gran cantidad de documendos.doc
como veran puedo abrir los archivos lo que no sé, cual es la sentencia que debo utilizar para comparar o comprobar si la palabra que ingrese el usuario esta contenidad en los archivos para que en base a eso si se cumplio esta condicion mediante el if ?????? liste el nombre del archivo, sino pase al proximo.. con ?????? indico donde a mi parecer tendria que escribir el codigo para buscar la palabra y la condicion........pespero haberme explicado bien.
debo aclarar que me estoy iniciando en asp.net asi que mis conocimientos son muy escasos
si alguien puede ayudarme con el codigo que me falta o me puede oritentar sobre como hacerlo, o indicarme si existe alguna otra manera mejor...desde ya le estare muy agradecido...
Valora esta pregunta


0