Foros del Web » Programando para Internet » Javascript »

manejo de ficheros

Estas en el tema de manejo de ficheros en el foro de Javascript en Foros del Web. hola a todos como puedo hacer con javascript crear ,abrir , leer y escribir archivos txt ayudenme con un ejemplo por favor gracias de antemano...
  #1 (permalink)  
Antiguo 13/06/2005, 10:00
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
De acuerdo manejo de ficheros

hola a todos
como puedo hacer con javascript crear ,abrir , leer y escribir archivos txt
ayudenme con un ejemplo por favor


gracias de antemano
__________________
javier
  #2 (permalink)  
Antiguo 13/06/2005, 11:27
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
ya encontre la solucion al problema

gracias las personas que leyeron y trataron de ayudar
__________________
javier
  #3 (permalink)  
Antiguo 13/06/2005, 11:35
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Jayapata12

Estaría bien si explicaras como lo has solucionado, por si algún otro forero tiene la misma duda.

Saludos,
  #4 (permalink)  
Antiguo 14/06/2005, 11:31
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Hola Jayapata12 , JavierB :

yo encontré este ejemplo perdido en una carpeta. Por supuesto, funciona en IE con Windows, pero no sé en que versiones y configuraciones de seguridad. Coincido en que no estaría mal conocer otra solución al problema.

saludos

furoya
  #5 (permalink)  
Antiguo 14/06/2005, 22:44
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Hasta donde sé NO es posible manejar ese tipo de cosas con Javascript, ya que sería un grave problema de seguridad...

Sólo es soportado por IE usando objetos ActiveX (creo que sólo funciona de manera local)

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 15/06/2005, 11:05
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 20 años
Puntos: 0
claro que esto solo sirve de manera locar por que javascript se ejecuta en el cliente
aqui les pongo el codigo que encontre para estas cosas

function CreateFile()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\\archprue.txt", true);
// Escribir una línea con un carácter de nueva línea.
tf.WriteLine("Probando 1, 2, 3.") ;
// Escribir tres caracteres de nueva línea en el archivo.
tf.WriteBlankLines(3) ;
// Escribir una línea.
tf.Write ("Esto es una prueba.");
tf.Close();
}
__________________
javier
  #7 (permalink)  
Antiguo 19/06/2005, 08:10
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Sí. Estos códigos son más para usar en documentos .HTA o .HTT que en un .HTM; pero tu comentario tampoco estuvo desubicado, xknown. Hay mucha gente que recién empieza con javascript y para ellos no debe se algo tan obvio.

Una aclaración sobre mi mensaje anterior; y es que no debería estar allí. Escribí el texto en el editor y cuando fui a pegar el código descubrí que era “muy borrador” ( lleno de comentarios y lineas “para probar” ) así que me arrepentí. No sé en qué momento hice un click donde no debía y el mensaje se envió (incompleto). Esto me pasa por tener varios editores abiertos al mismo tiempo, después no sé cuál mandé o cual no debí mandar.

Ahora que lo veo, me siento obligado a postear lo que “prometí”. Que seguro está sacado del mismo tutorial donde encontraste el tuyo, Jayapata12, porque veo que se parece mucho.

Una última sugerencia: si van a probar los scripts, desactiven los antivirus. Cuando un F.S.O intenta escribir un documento, a estos programas les da la histeria y empiezan a saltar alertas, stops críticos, confirmaciones; cuando no terminan cerrando todo y escaneando el disco.

Código:
<html>
<head> <title> MANIPULAR ARCHIVOS.</title>
<script>
var fso, f1, f2, s;
var raiz = unescape(location.href.substring(0, location.href.substring(0, location.href.length-1).lastIndexOf( '/' )+1)).split("file:///").join("");

function CreateFile(){
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile(raiz+"archprueCrea.txt", true);
window.location.reload();
}

function WriteFile()
{
  var fso, tf;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  tf = fso.CreateTextFile(raiz+"archprueEscr.txt", true);
  // Escribir una línea con un carácter de nueva línea.
  tf.WriteLine("Probando 1, 2, 3.") ;
  // Escribir tres caracteres de nueva línea en el archivo.      
  tf.WriteBlankLines(3) ;
  // Escribir una línea.
  tf.Write ("Esto es una prueba de escritura.");
  tf.Close();
  window.location.reload()
}

function ReadFiles()
{
  var fso, f1, ts, s, cont;
  var ForReading = 1;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile(raiz+"archprueLee.txt", true);
  // Escribir una línea.
  f1.WriteLine("Hola a todos");
  f1.WriteBlankLines(1);
  f1.Close();
  // Leer los contenidos del archivo.
    ts = fso.OpenTextFile(raiz+"archprueLee.txt", ForReading);
  s = ts.ReadLine();
  cont="Contenido del archivo= '" + s + "'";
  ts.Close();
alert(cont);
window.location.reload();
}

  var fso, f1, f2, s;
function MoveFile1()
{
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile(raiz+"archprueMueve.txt", true);
  // Escribir una línea.
  f1.Write("Esto es una prueba para mover archivo.");
  // Cerrar el archivo para la escritura.
  f1.Close();
}
function MoveFile2()
{
  // Obtener un identificador para el archivo en la raíz de C:\.
  f2 = fso.GetFile(raiz+"archprueMueve.txt");
  // Mover el archivo al directorio \tmp.
  f2.Move(raiz+"carpprue/archprueMueve.txt");
  window.location.reload()
}

  var fso, f1, f2, s;
function CopyFile1()
{
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile(raiz+"archprueCopia.txt", true);
  // Escribir una línea.
  f1.Write("Esto es una prueba de copia.");
  // Cerrar el archivo para la escritura.
  f1.Close();
}
function CopyFile2()
{
  // Obtener un identificador para el archivo en la raíz de C:\.
  f2 = fso.GetFile(raiz+"archprueCopia.txt");
  // Copiar el archivo a \tmp.
  f2.Copy (raiz+"carpprue/archprueCopia.txt");

}

  var fso, f1, f2, s;
function DeleteFile1()
{
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f1 = fso.CreateTextFile(raiz+"archprueBorrado.txt", true);
  f1.Close();
}
function DeleteFile2()
{
  // Obtener un identificador para el archivo en la raíz de C:\.
  f2 = fso.GetFile(raiz+"archprueBorrado.txt");
  // Eliminar los archivos.
  f2.Delete();
}

function CreateFolder()
{
  var fso;
  // Obtener instancia de FileSystemObject.
  fso = new ActiveXObject("Scripting.FileSystemObject");
  // Crear una carpeta nueva con el objeto FileSystemObject.
  fso.CreateFolder (raiz+"carpprue");
}

</script>
<style>
</style>
</head>
<body>
<h2>Manipular archivos de texto. (<tt> <script> document.write(raiz); </script></tt> ) </h2>

<input type=button onclick=CreateFile() value="Crear arch. texto">
<p>
Crea un archivo "<tt>archprueCrea.txt</tt>".
<hr>
<input type=button onclick=WriteFile() value="Crear y escr. arch. texto">
<p>
Crea un archivo "<tt>archprueEscr.txt</tt>".
<p>
con el texto
<pre>
Probando 1, 2, 3.


Esto es una prueba de escritura.
</pre>
<hr>
<input type=button onclick=ReadFiles() value="Crear, escr. y leer arch. texto">
<p>
Crea un archivo "<tt>archprueLee.txt</tt>".
<p>
con el texto
<pre>
Hola a Todos
</pre>
y lee el contenido para mostrarlo en un <tt>alert</tt>.
<hr>
<input type=button onclick=MoveFile1() value="Crear arch. p/mover">
<p>
Crea un archivo "<tt>archprueMueve.txt</tt>".
<p>
con el texto
<pre>
Esto es una prueba para mover archivo.
</pre>
<input type=button onclick=MoveFile2() value="Mover arch. texto">
<p>
y lo mueve a una carpeta <tt>"/carpprue"</tt>.<br>
(Si la carpeta no existe, crear con <input type=button onclick=CreateFolder() value="Crear carpeta"> )
<hr>
<input type=button onclick=CopyFile1() value="Crear arch. p/copiar">
<p>
Crea un archivo "<tt>archprueCopia.txt</tt>".
<p>
con el texto
<pre>
Esto es una prueba de copia.
</pre>
<input type=button onclick=CopyFile2() value="Copiar arch. texto">
<p>
y lo copia a una carpeta <tt>"/carpprue"</tt>.
<hr>
<input type=button onclick=DeleteFile1() value="Crear arch. p/eliminar">
<p>
Crea un archivo "<tt>archprueBorrado.txt</tt>".
<p>
<input type=button onclick=DeleteFile2() value="Eliminar arch. texto">
<p>
y lo elimina.
<p>

</body>
</html>
Agrego otro código. También abre por omisión en el mismo directorio donde está la página; pero no modifica ni guarda, y el directorio se puede cambiar, claro. Si el .TXT no existe en esa ruta, abre uno nuevo para mandarlo ahí.

Código:
function AbreTXT(){
nombre = 'Mi%20Documento%20Texto.txt';

raiz1 = location.href.substring(0, location.href.substring(0, location.href.length-1).lastIndexOf('/') + 1);

raiz2 = prompt("¿ Abre el documento con esta dirección, o desea escribir otra ?",raiz1 + nombre);

window.location.href = 'view-source:' +raiz2 ;
}
Estaba pensando como un LOG que permitía seleccionar texto de una página y en la misma operación se abría el archivo .TXT para pegar y guardar.
Si metemos la ruta elegida por el usuario en una cookie hasta podríamos usar esto en una página Web de verdad. Si, sí, en Windows con Internet Explorer.

saludos

furoya
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:02.