andgau

Java8 Lambdas y lectura de archivos

Nov 3rd, 2015
1,526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.41 KB | None | 0 0
  1. package es.sinjava.utiles;
  2. import java.io.File;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.nio.file.Files;
  6. import java.util.Arrays;
  7. import java.util.Iterator;
  8. import java.util.List;
  9. import java.util.Optional;
  10. import java.util.stream.Stream;
  11.  
  12. public class Escritor {
  13.     public static void main(String[] args) throws IOException {
  14.         // Creo el archivo temporal
  15.         File filetext = File.createTempFile("sinjava", ".txt");
  16.         // creo una colección de lineas que voy a escribir en él.
  17.         List<String> lineas = Arrays.asList("Welcome", "To java 8", "Bartolomé");
  18.         FileWriter writer = new FileWriter(filetext);
  19.         for (String linea : lineas) {
  20.             writer.append(linea + "\n");
  21.         }
  22.         writer.close();
  23.         // Lectura con java 8
  24.         Stream<String> multilineas = Files.lines(filetext.toPath());
  25.         for (Iterator<String> iterator = multilineas.iterator(); iterator.hasNext();) {
  26.             System.out.println(iterator.next());
  27.         }
  28.         multilineas.close();
  29.  
  30.         // Expresion lambda
  31.         Stream<String> lambdaStream = Files.lines(filetext.toPath());
  32.         lambdaStream.forEach(s -> System.out.println(s));
  33.         lambdaStream.close();
  34.  
  35.         //Filtrado con expresión lambda
  36.         Stream<String> lambdaFilter = Files.lines(filetext.toPath());
  37.         Optional<String> tengoCome = lambdaFilter.filter(
  38.                 s -> s.contains("om")).findAny();
  39.         if (tengoCome.isPresent()) {
  40.             System.out.println(tengoCome.get());
  41.         }
  42.         lambdaFilter.close();
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment