Foros del Web » Programación para mayores de 30 ;) » Java »

Entrada de texto y exportación a fichero

Estas en el tema de Entrada de texto y exportación a fichero en el foro de Java en Foros del Web. Buenos días, Os agradecería enormemente un cable. El siguiente código crea un fichero txt a partir de datos introducidos: - pide al usuario que determine ...
  #1 (permalink)  
Antiguo 22/08/2013, 02:47
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Pregunta Entrada de texto y exportación a fichero

Buenos días,

Os agradecería enormemente un cable.
El siguiente código crea un fichero txt a partir de datos introducidos:
- pide al usuario que determine el nombre del fichero
- comprueba si existe
- si no existe, lo crea y si existe, pregunta si desea sobreescribir.
- lo cierra

Sin embargo, el programa se termina en el momento que se escribe el nombre del fichero y no sé por qué.

Por otro lado, tengo dudas:
- qué estamos diciendo con lo que se encuentra entre paréntesis?



nombrefichero=new String(buffer,0,nbytes-2);


ESTE ES EL CÓDIGO DEL PROGRAMA
GRACIAS POR ADELANTADO

package escribirdatos;
import java.io.*;

public class EscribirDatos {


public static void main(String[] args) {
FileWriter fs=null;
byte[] buffer=new byte[81];
int nbytes;
String nombrefichero=null;
File fichero=null;

try
{
System.out.print("Escriba el nombre del fichero: ");
nbytes=System.in.read(buffer);
nombrefichero=new String(buffer,0,nbytes-2);
fichero=new File(nombrefichero);

char resp= 's';
if (fichero.exists())
{
System.out.print("El fichero existe, desea sobreescribirlo? s/n ");
resp=(char)System.in.read();
System.in.skip(System.in.available());
}
if (resp=='s')
{
System.out.print("Escribe el texto que desea almacnar en el fichero");
nbytes=System.in.read(buffer);
String str=new String(buffer,0, nbytes);
fs=new FileWriter(fichero);
fs.write(str,0,str.length());
}
}
catch (IOException e)
{
System.out.println("Error: "+e.toString());
}
finally
{
try
{
if (fs!=null) fs.close();
}
catch (IOException e)
{
System.out.println("Error :"+e.toString());

}
}
}
  #2 (permalink)  
Antiguo 22/08/2013, 03:11
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Entrada de texto y exportación a fichero

http://chuwiki.chuidiang.org/index.p...cheros_en_Java
  #3 (permalink)  
Antiguo 22/08/2013, 03:48
Avatar de Krain  
Fecha de Ingreso: julio-2013
Ubicación: Valencia
Mensajes: 60
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Entrada de texto y exportación a fichero

Cita:
- qué estamos diciendo con lo que se encuentra entre paréntesis?
nombrefichero=new String(buffer,0,nbytes-2);
Esto significa que por ejemplo si el buffer tiene 10 char, el nombreFichero sera buffer[0] + buffer[1] + buffer[2].... + buffer[8];

El buffer le indica de donde va a coger los char, el 0 la posicion inicial y el nbytes-2 hace referencia a la posicion final.
  #4 (permalink)  
Antiguo 27/08/2013, 12:50
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Entrada de texto y exportación a fichero

Mil gracias a los dos!
Por cierto, genial la wiki sobre informática.

Muchos saludos

Etiquetas: entrada, fichero, programa, string
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 20:33.