elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ficheros, intento copiar el contenido de un archivo a otro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ficheros, intento copiar el contenido de un archivo a otro  (Leído 5,064 veces)
marixxaa

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Ficheros, intento copiar el contenido de un archivo a otro
« en: 19 Enero 2016, 02:47 am »

Hola soy nueva!, disculpen si no me se explicar bien, pero estoy intentando copiar el contenido de un archivo de texto a otro nuevo, dicho contenido es el siguiente:

a,b,c
d,e,f

sCadena contiene cada linea del archivo txt que deseo copiar.
y luego a sCadena lo quiero separar en tokens en un array, el problema es que el siguiente codigo
devuelve:
a,b,c
,d,e,f
,

cuando lo que yo deseo es que lo copie tal cual como estaba
a,b,c
d,e,f

Gracias, y espero respuestas (aunque no se si me explique bien).

Código:

while ((sCadena = bf.readLine())!=null) {
String []tokens=sCadena.split(",");
for (int x=0; x<tokens.length; x++) {

if(x<2)
salidaCopia.format(tokens[x]+",");
if(x==2){
salidaCopia.format("tokens[x]+"\n\r\n");
}




En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #1 en: 19 Enero 2016, 03:35 am »

Hola, ¿puedes publicar el código del método format?  :-\ o publica todo si no es mucho.

Citar
Hola soy nueva!

Bienvenida!  ;D


« Última modificación: 19 Enero 2016, 03:46 am por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
marixxaa

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #2 en: 19 Enero 2016, 03:48 am »

Hola, ¿puedes publicar el código del método format?  :-\ o publica todo si no es mucho.

Bienvenida!  ;D
Gracias. No se si esto te sirve

Código:
BufferedReader bf = null;
BufferedReader bf1 = null;
BufferedReader bf3 = null;
try {
bf = new BufferedReader(new FileReader("Altas.txt"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
salidaCopia= new Formatter("Altas2.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #3 en: 19 Enero 2016, 03:55 am »

No, mejor publica todo  :-(
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
marixxaa

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #4 en: 19 Enero 2016, 04:01 am »

No, mejor publica todo  :-(

ok pero es un desastre esto, a penas estoy empezando a programar en java

Código:
package Programa;
import java.awt.Component;
import java.awt.FlowLayout; // especifica cómo se van a ordenar los componentes
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Formatter;
import java.util.Scanner;
import java.util.StringTokenizer;
import javax.swing.JFrame; // proporciona las características básicas de una ventana
import javax.swing.JLabel; // muestra texto e imágenes
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
public class Marco extends JFrame
{
private GridBagLayout esquema;
private GridBagConstraints restricciones;
private JButton ingresar;
private JButton modificar;
private JTextField nombre;
private JTextField apellido;
private JTextField dni;
private JLabel nombreLabel;
private JLabel apellidoLabel;
private JLabel dniLabel;
private JLabel vacio;
private String nombreVar;
private String apellidoVar;
private String dniVar;
private Formatter salida;
private Formatter salidaCopia;
JLabel jUserName = new JLabel("Usuario");
JTextField userName = new JTextField();
JLabel jPassword = new JLabel("Password");
JTextField password = new JPasswordField();
Object[] ob = {jUserName, userName, jPassword, password};
public Marco ()
{
esquema=new GridBagLayout();
setLayout(esquema);
restricciones=new GridBagConstraints();
JMenu archivo=new JMenu ("Archivo");
JMenu altas=new JMenu ("Altas");
JMenuItem crearNuevoArchivo= new JMenuItem ("Crear nuevo archivo");
JMenuItem salir= new JMenuItem ("Salir");
JMenuItem altaEmpleado= new JMenuItem ("Empleado");
nombre = new JTextField("",10);
apellido = new JTextField("",10);
dni = new JTextField("",10);
nombreLabel = new JLabel("Nombre");
apellidoLabel = new JLabel("Apellido");
dniLabel = new JLabel("Dni");
ingresar= new JButton("INGRESAR");
modificar= new JButton("MODIFICAR");
vacio=new JLabel(" ");
nombre.setVisible(false);
modificar.setVisible(false);
apellido.setVisible(false);
dni.setVisible(false);
nombreLabel.setVisible(false);
apellidoLabel.setVisible(false);
dniLabel.setVisible(false);
ingresar.setVisible(false);
archivo.add(crearNuevoArchivo);
archivo.add(salir);
altas.add(altaEmpleado);
JMenuBar barra=new JMenuBar();
setJMenuBar(barra);
barra.add(archivo);
Oyente oyente =new Oyente();
barra.add(altas);
altaEmpleado.addActionListener(
new ActionListener()
{
public void actionPerformed (ActionEvent evento){
nombre.setVisible(true);
apellido.setVisible(true);
dni.setVisible(true);
nombreLabel.setVisible(true);
apellidoLabel.setVisible(true);
dniLabel.setVisible(true);
ingresar.setVisible(true);
modificar.setVisible(true);
}
}
);
modificar.addActionListener(
new ActionListener()
{
public void actionPerformed (ActionEvent evento){
String sCadena;
String linea;
String Cadena;
String Cadena1;
String Cadena2;
String sCadena3;
BufferedReader bf = null;
BufferedReader bf1 = null;
BufferedReader bf3 = null;
try {
bf = new BufferedReader(new FileReader("Altas.txt"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
salidaCopia= new Formatter("Altas2.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while ((sCadena = bf.readLine())!=null) {
//System.out.print(sCadena);
String []tokens=sCadena.split(",");
for (int x=0; x<tokens.length; x++) {
if (x>=3)
x=10;
// System.out.println(tokens[x]);
System.out.println(tokens.length);
if(tokens[x].equals("a"))
tokens[x]="*";
// System.out.println("maria se encontro");
// Cadena=tokens[x];
if(x<2)
salidaCopia.format(tokens[x]+",");
if(x==2){
salidaCopia.format(tokens[x]+"\n\r\n");
}
//x=0,1,2
// a,b,c
}
// salidaCopia.format("\n\r\n");
//System.out.print(tokens[1]);
//System.out.print(tokens[1]);
//System.out.print(tokens[2]);
//salidaCopia.close();
// salidaCopia.format(tokens[0]+","+tokens[1]+","+tokens[2]);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
// ... cleanup that will execute whether or not an error occurred ...
}

salidaCopia.close();

//x=0,1,2
// a,b,c

try {
salida= new Formatter("Altas.txt");
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
bf3 = new BufferedReader(new FileReader("Altas2.txt"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
while ((sCadena3 = bf3.readLine())!=null) {
//System.out.print(sCadena);
String []tokens=sCadena3.split(",");
for (int x=0; x<tokens.length; x++) {
System.out.printf("dd%d",x);
if(x==3)
x=10;
if(x<2)
salida.format(tokens[x]+",");
if(x==2){
//salida.format(tokens[x]+"\n\r\n");
salida.format(tokens[x]+"\n\r\n");
}
//x=0,1,2
// a,b,c
}
// salidaCopia.format("\n\r\n");
//System.out.print(tokens[1]);
//System.out.print(tokens[1]);
//System.out.print(tokens[2]);
//salidaCopia.close();
// salidaCopia.format(tokens[0]+","+tokens[1]+","+tokens[2]);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
// ... cleanup that will execute whether or not an error occurred ...
}
salida.close();
}
// salidaCopia.format("\n\r\n");
//System.out.print(tokens[1]);
//System.out.print(tokens[1]);
//System.out.print(tokens[2]);
//salidaCopia.close();
// salidaCopia.format(tokens[0]+","+tokens[1]+","+tokens[2]);


}
);
ingresar.addActionListener(oyente);
crearNuevoArchivo.addActionListener(
new ActionListener()
{
String userNameValue;
String passwordValue;
public void actionPerformed (ActionEvent evento){
int result = JOptionPane.showConfirmDialog(null, ob, "Se requiere autorizacion de ADMIN", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
userNameValue = userName.getText();
passwordValue = password.getText();
//Here is some validation code
}
if(!passwordValue.equals("abc")&&(!userNameValue.equals("admin"))){
JOptionPane.showMessageDialog(null, "Acceso: DENEGADO");
}
if (passwordValue.equals("abc")&&(userNameValue.equals("admin"))){
JOptionPane.showMessageDialog(null, "Acceso: CONFIRMADO");
try {
salida= new Formatter("Altas.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
salidaCopia= new Formatter("Altas2.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
);
restricciones.fill=GridBagConstraints.VERTICAL;
agregarComponente(nombre,0,0,1,1);
agregarComponente(apellido,1,0,1,1);
agregarComponente(dni,2,0,1,1);
agregarComponente(nombreLabel,0,1,1,1);
agregarComponente(apellidoLabel,1,1,1,1);
agregarComponente(dniLabel,2,1,1,1);
agregarComponente(vacio,0,2,1,1);
agregarComponente(ingresar,0,3,1,1);
agregarComponente(modificar,1,3,1,1);
}
private void agregarComponente(Component componente, int fila, int columna, int anchura,int altura)
{
restricciones.gridx=columna;
restricciones.gridy=fila;
restricciones.gridwidth=anchura;
restricciones.gridheight=altura;
esquema.setConstraints(componente,restricciones );
add(componente);
}
public class Oyente implements ActionListener
{
public void actionPerformed (ActionEvent evento)
{
String sCadena;
String linea;
String Cadena;
BufferedReader bf = null;
/*
try {
bf = new BufferedReader(new FileReader("Altas.txt"));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
salidaCopia= new Formatter("Altas2.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
*/
FileWriter fichero = null;
PrintWriter pw = null;

try
{
fichero = new FileWriter("Altas.txt",true);
pw = new PrintWriter(fichero);
int i = 0;
nombreVar=nombre.getText();
apellidoVar=apellido.getText();
dniVar=dni.getText();
if(!nombreVar.equals("0"))
pw.print(nombreVar+","+apellidoVar+","+dniVar+"\n\r\n");
fichero.close();
//pw.println("Linea " + i);
} catch (Exception e) {
e.printStackTrace();
} finally {
// Nuevamente aprovechamos el finally para
// asegurarnos que se cierra el fichero.
if (null != fichero)
//fichero.close();
try {
} catch (Exception e2) {
e2.printStackTrace();
}
}
/*
nombreVar=nombre.getText();
apellidoVar=apellido.getText();
dniVar=dni.getText();
if(!nombreVar.equals("0"))
salida.format(nombreVar+","+apellidoVar+","+dniVar+"\n\r\n");
salidaCopia.format(nombreVar+","+apellidoVar+","+dniVar+"\n\r\n");
*/
//salida.format(nombreVar+"\n");
if(nombreVar.equals("0")){
//System.out.print("0");
//salida.close();
}
/*
try {
while ((sCadena = bf.readLine())!=null) {
linea=sCadena;
System.out.println(sCadena);
String[]tokens=sCadena.split(",");
//System.out.println(sCadena);
System.out.println(tokens[0]);
System.out.println(tokens[1]);
System.out.println(tokens[2]);
if(tokens[1].equals("Ordones")){
tokens[1]="Ordename";
System.out.print("seee");
}
salidaCopia.format(tokens[0]+","+tokens[1]+","+tokens[2]+"\n\r\n");
}
salidaCopia.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
}
}
/*
JFrame winMain = new JFrame("Mostrar / Ocultar Jpanel");
winMain.setVisible(true);
winMain.setSize( 400, 400 );
winMain.setDefaultCloseOp eration(JFrame.EXIT_ON_CLOSE);
*/
//System.out.print(nombreVar);
/**************ESTO SIRVE PARA COPIAR TODO UN ARCHIVO A OTRO**********************
StringTokenizer defaultTokenizer = new StringTokenizer(linea);
while (defaultTokenizer.hasMoreTokens())
{
defaultTokenizer.nextElement();
salidaCopia.format(defaultTokenizer.nextToken()+"\n\r");
salidaCopia.format("\n\r");
}
*/
« Última modificación: 19 Enero 2016, 04:07 am por marixxaa » En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #5 en: 19 Enero 2016, 04:43 am »

Tu código es muy difícil de leer, te recomiendo utilizar la indentación porque la verdad yo no entendí nada. Te dejo una solución al problema que planteas:

Código
  1. try{
  2.            /*Archivo a leer*/
  3.            String cadena;
  4.            File fileLectura = new File("Altas.txt");
  5.            FileReader f = new FileReader(fileLectura);
  6.            BufferedReader bf = new BufferedReader(f);
  7.  
  8.            /*Archivo a escribir*/
  9.            FileWriter fileEscritura = new FileWriter("Altas2.txt");
  10.            PrintWriter pw = new PrintWriter(fileEscritura);
  11.  
  12.            /*Leer y escribir*/
  13.            while((cadena = bf.readLine())!=null){
  14.                String CadenaSal = "";
  15.                String[] letras = cadena.split(",");
  16.  
  17.                for( int i = 0; i < letras.length;i++){
  18.  
  19.                    if( i != (letras.length - 1) )
  20.                        CadenaSal += letras[i] + ",";
  21.                    else
  22.                        CadenaSal += letras[i];
  23.                }
  24.                pw.println(CadenaSal);
  25.            }
  26.            bf.close();
  27.            pw.close();
  28.        }
  29.        catch(IOException IOErr){
  30.            IOErr.printStackTrace();
  31.        }

En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
marixxaa

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #6 en: 19 Enero 2016, 05:01 am »

Tu código es muy difícil de leer, te recomiendo utilizar la indentación porque la verdad yo no entendí nada. Te dejo una solución al problema que planteas:

Código
  1. try{
  2.            /*Archivo a leer*/
  3.            String cadena;
  4.            File fileLectura = new File("Altas.txt");
  5.            FileReader f = new FileReader(fileLectura);
  6.            BufferedReader bf = new BufferedReader(f);
  7.  
  8.            /*Archivo a escribir*/
  9.            FileWriter fileEscritura = new FileWriter("Altas2.txt");
  10.            PrintWriter pw = new PrintWriter(fileEscritura);
  11.  
  12.            /*Leer y escribir*/
  13.            while((cadena = bf.readLine())!=null){
  14.                String CadenaSal = "";
  15.                String[] letras = cadena.split(",");
  16.  
  17.                for( int i = 0; i < letras.length;i++){
  18.  
  19.                    if( i != (letras.length - 1) )
  20.                        CadenaSal += letras[i] + ",";
  21.                    else
  22.                        CadenaSal += letras[i];
  23.                }
  24.                pw.println(CadenaSal);
  25.            }
  26.            bf.close();
  27.            pw.close();
  28.        }
  29.        catch(IOException IOErr){
  30.            IOErr.printStackTrace();
  31.        }


muchisimas gracias! perdón soy muy vaga para acomodar el codigo, ahora pruebo el codigo que me mandaste, gracias!!!!!
En línea

marixxaa

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #7 en: 19 Enero 2016, 05:31 am »

Funciono!!! te lo re agradezco. Pase todo el día con esto y vos me lo solucionaste, un genio, abrazo.
En línea

0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Ficheros, intento copiar el contenido de un archivo a otro
« Respuesta #8 en: 19 Enero 2016, 20:38 pm »

De nada  ::). Me gusta tu esfuerzo, la verdad muchos llegan aquí pidiendo ayuda pero ni siquiera lo intentan, al ver tu código decidí ayudarte con mucho gusto  ;D
En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
copiar contenido de un archivo
Programación Visual Basic
brako 3 2,195 Último mensaje 2 Enero 2006, 18:18 pm
por brako
Copiar contenido archivo PHP
PHP
Castg! 4 6,347 Último mensaje 15 Noviembre 2009, 04:57 am
por Castg!
Copiar contenido del fichero en otro en C (solucionado) « 1 2 »
Programación C/C++
Pirata LOL 13 38,588 Último mensaje 29 Septiembre 2018, 19:31 pm
por Pol23
copiar toda el contenido de la memoria ram a un archivo
GNU/Linux
p4nd4criss 1 6,245 Último mensaje 28 Junio 2012, 22:38 pm
por peib0l
Ver donde acaba archivo contenido en otro archivo
Ingeniería Inversa
lucaslopez0000 3 3,283 Último mensaje 1 Febrero 2013, 19:31 pm
por apuromafo CLS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines