Java - Paralelismo

 
Vista:

Paralelismo

Publicado por Avaddon (1 intervención) el 02/02/2018 20:53:12
Buenas,
Me piden que realice una aplicación que lea un archivo de texto y mediante paralelismo ordene el contenido de dos formas diferentes y escriba el resultado en dos ficheros, uno para cada forma de ordenación. He realizado el programa sin paralelismo puesto que no me dan mas que un ejemplo de una suma realizada en paralelo y no me sirve de nada para implementar este ejercicio. Agradecería cualquier orientación de como realizar paralelismo con listas puesto que no encuentro mucha información al respecto.
El código del programa sin paralelismo es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.io.*;
import java.util.ArrayList;
 
public class FicheroOrdenado {
 
    public static void main(String[] args) throws java.io.IOException {
 
        String linea;
        int numeroLinea = 0;
        String[] palabras;
        ArrayList<String> ordenado1 = new ArrayList<String>();
        ArrayList<String> ordenado2 = new ArrayList<String>();
 
        FileReader fr = new FileReader("comprasDiarias.txt");
        BufferedReader br = new BufferedReader(fr);
        FileWriter fw1 = new FileWriter("compras_ordenadas_1.txt");
        BufferedWriter bw1 = new BufferedWriter(fw1);
        FileWriter fw2 = new FileWriter("compras_ordenadas_2.txt");
        BufferedWriter bw2 = new BufferedWriter(fw2);
 
 
        while ((linea = br.readLine()) != null) {
 
            numeroLinea++;
            System.out.println("La linea " + numeroLinea + " del archivo es: " + linea);
            System.out.println("Separando la linea en trozos tenemos las siguientes palabras:");
 
            palabras = linea.split(";");
            String fecha = palabras[0];
            String isbn = palabras[1];
            String importe = palabras[2];
            String cliente = palabras[3];
            String provincia = palabras[4];
 
            System.out.println(fecha);
            System.out.println(isbn);
            System.out.println(importe);
            System.out.println(cliente);
            System.out.println(provincia);
            System.out.println();
 
           ordenado1.add(fecha+";"+isbn+";"+provincia+";"+cliente+";"+importe);
           ordenado2.add(isbn+";"+provincia+";"+cliente+";"+fecha+";"+importe);
        }
        for(int i=0;i<ordenado1.size();i++) {
            bw1.write(ordenado1.get(i));
            bw1.newLine();
        }
        for(int i=0;i<ordenado2.size();i++) {
            bw2.write(ordenado2.get(i));
            bw2.newLine();
        }
            bw1.close();
            bw2.close();
 
    }
 
}

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder