Cita de: fillcolin en 3 Mayo 2019, 02:49 AM
jajaja, es que soy nuevo en todo esto, y lo veo muy complicado
![](https://4.bp.blogspot.com/-13Dt7bUGBhU/XMuVXOzyi3I/AAAAAAAADvc/kkSSyst6s7gdVrzzfQzMfw8477wOcoJdACK4BGAYYCw/s320/spiderMente.png)
Ponte serio en el asunto, no descargues cualquier cosas que veas por ahi
![:xD :xD](https://forum.elhacker.net/Smileys/navidad/xd.gif)
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();
}
}