Cita de: fillcolin en 3 Mayo 2019, 02:49 AM
jajaja, es que soy nuevo en todo esto, y lo veo muy complicado
Ponte serio en el asunto, no descargues cualquier cosas que veas por ahi
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: fillcolin en 3 Mayo 2019, 02:49 AM
jajaja, es que soy nuevo en todo esto, y lo veo muy complicado
Cita de: fillcolin en 3 Mayo 2019, 01:31 AM
no he probado virtual box, lo estoy instalando ahora, para probarlo, gracias.
Cita de: fillcolin en 2 Mayo 2019, 23:25 PM
rub'n, otra preunta, estoy tratando de cifrar a darkcomet pero mi computadora esta eliminando todo los archivos, y desactive el AV y no para de hacerlo
package com.ficheros.foro;
import javax.swing.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.logging.Logger;
/**
* autor @rub´n
* https://foro.elhacker.net/java/ayuda_con_lectura_y_escritura_en_ficheros_java-t495247.0.html
*/
public class RelPerCen {
private static final Logger LOGGER = Logger.getLogger(RelPerCen.class.getSimpleName());
private static final String MATCHES = "| |";
private static final String REEMPLAZO = "|" + LocalDate.MIN.toString() + "|";
private static final String REPLACE = "[\\]\\[]";
public static List<String> leerFichero(final String nombre) {
final List<String> list = new ArrayList<>();
LOGGER.info("Raiz de proyecto" + Paths.get(".").toAbsolutePath().toString());
try (final BufferedReader br = Files.newBufferedReader(Paths.get(nombre), Charset.defaultCharset())) {
LOGGER.info("Leyendo el fichero de empleados\n");
String line = "";
final StringBuilder sb = new StringBuilder();
while (Objects.nonNull(line = br.readLine())) {
if (!line.contains(MATCHES)) {
final String s = line.replace(MATCHES, REEMPLAZO);
sb.append(s)
.append(System.lineSeparator());
}
if (line.contains(MATCHES)) {
final String s = line.replace(MATCHES, REEMPLAZO);
sb.append(s)
.append(System.lineSeparator());
}
}
/**
* Despues del while
*/
list.add(sb.toString());
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "No existe el fichero");
LOGGER.severe("No existe el fichero " + ex.toString());
}
return list;
}
public static void escribir(final List<String> empleado, final String nombreFichero) {
try (final BufferedWriter bw = Files.newBufferedWriter(Paths.get(nombreFichero))) {
bw.write(empleado.toString()
.replaceAll(REPLACE, ""));
} catch (IOException ex) {
LOGGER.severe("Error al escribir fichero " + ex.toString());
}
}
public static void main(String... blablablablabla) {
final RelPerCen r = new RelPerCen();
/**
* Leer el fichero completamente
*/
final List<String> ficheroLiedo = r.leerFichero("ficheroEmpleados.txt");
/**
* Crear el fichero con las fechas de cese en LocalDate.MIN
*/
r.escribir(ficheroLiedo, "ficheroEmpleadosConFechaDeCese.txt");
}
}
Título: PERSONAL DEL CENTRO
Autor: Aplicación Séneca, CONSEJERÍA DE EDUCACIÓN Y DEPORTE, Junta de Andalucía
Fecha de creación: 30/04/19 - 10:01
---------------------------------------+----------------------------------------+-------------------------+-------------+---------+-----------
Empleado/a |Puesto |Fecha de toma de posesión|Fecha de cese|Evaluador|Coordinador
---------------------------------------+----------------------------------------+-------------------------+-------------+---------+-----------
Aldridge Torres, Pérez |Física y Química P.E.S. |01/09/2012 |-999999999-01-01|Sí |No
Álvarez Ortega, María Dolores |Pedagogía Terapeutica Eso |01/09/2005 |-999999999-01-01|No |No
Baquero Reyes, Cristina |Biología y Geología P.E.S. |18/02/2019 |30/04/2019 |No |No
Bermúdez Iñiguez, José Luis |Geografía e Historia P.E.S. |01/09/2018 |30/06/2019 |No |No
Beswick Algarrada, Cristina |Orientación Educativa P.E.S. |01/09/2008 |-999999999-01-01|No |No
Blanco Borrego, Mirian |Física y Química P.E.S. |01/09/2004 |-999999999-01-01|No |Sí
Borrego Alcaide, Miguel Ángel |Lengua Castellana y Literatura P.E.S. |01/09/2018 |30/06/2019 |No |No
Butrón Cobo, Lucía |Administración de Empresas P.E.S. |25/09/2018 |09/03/2019 |No |No
Cita de: LuisCardenas123 en 2 Mayo 2019, 16:21 PM
Si, el fichero tenía el siguiente contenido:
https://imgur.com/BEi5fTO
Cita de: EdePC en 1 Mayo 2019, 21:13 PM
Saludos,
- Como rub'n ya había dicho en un post anterior, tienes que ir a Run > Clean and Build para limpiar y actualizar tu proyecto.
package com.prueba.foro;
import javax.swing.*;
import java.awt.*;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
* @autor rub´n
*/
public class FormatearJTextField extends JFrame {
private final JLabel jLabelTitulo = new JLabel("Introduce 10 números, enter para validar");
private final JTextField jTextField = new JTextField();
private final JLabel jLabel = new JLabel("Resultado: ");
private final JPanel mainJPanel = new JPanel();
private static final String ESPACIOS = "\\s+";
private static final String LETRAS = "[a-zA-Z]+";
private static final String NUMEROS_HASTA_10 = "[0-9]{10}";
private static final String NUMEROS = "[0-9]+";
public FormatearJTextField() {
super("Formatear JTextField 00 00 00...");
configureLayouts();
configureJFrame();
}
private void configureJFrame() {
add(mainJPanel);
setResizable(Boolean.FALSE);
setPreferredSize(new Dimension(366, 150));
pack();
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private void configureLayouts() {
mainJPanel.setLayout(new BoxLayout(mainJPanel, BoxLayout.Y_AXIS));
mainJPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
mainJPanel.add(jLabelTitulo, BorderLayout.NORTH);
mainJPanel.add(Box.createVerticalStrut(20));
mainJPanel.add(jTextField, BorderLayout.CENTER);
mainJPanel.add(Box.createVerticalStrut(20));
mainJPanel.add(jLabel, BorderLayout.SOUTH);
listenerJTextField();
}
/**
* Listener del JTextField
*/
private void listenerJTextField() {
jTextField.addActionListener(e -> {
final String valor = jTextField.getText();
final Predicate<String> predicate = p -> p.replaceAll(ESPACIOS,"")
.matches(NUMEROS_HASTA_10);
if (validar(valor, predicate)) {
JOptionPane.showMessageDialog(null, "Valores correctos");
final char[] chars = valor.toCharArray();
String sResultado = IntStream.range(0, chars.length)
.mapToObj(index -> chars[index])
.collect(Collectors.toList())
.toString()
.replaceAll(ESPACIOS, "")//quitar espacios en blanco
.replaceAll(",", "")//remover ,
.replaceAll("\\[", "")//remover [
.replaceAll("\\]", "");//remover ]
final StringBuilder sb = new StringBuilder();
for (int f = 0; f < sResultado.length() - 1; f += 2) {
sb.append(sResultado.substring(f, (f + 2)).concat(" "));
}
jLabel.setText("");
jLabel.setText("Resultado: " + sb.toString());
jTextField.setText(sb.toString());
} else {
final String sError = valor.replaceAll(ESPACIOS,"");
if (validar(sError, p -> p.matches(LETRAS))) {
JOptionPane.showMessageDialog(null, "Valores invalidos");
} else if(validar(sError, p -> p.matches(NUMEROS))) {
JOptionPane.showMessageDialog(null, "cantidad de numeros es: " + sError.length());
} else {
JOptionPane.showMessageDialog(null, "Valores invalidos");
}
}
});
}
/**
* Validador
*
* @param value valor obtenido del JTextField
* @return boolean
*/
private boolean validar(final String value, final Predicate<String> predicate) {
return predicate.test(value);
}
public static void main(String... blabla) {
new Thread(FormatearJTextField::new).start();
}
}