Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.IOException;
- import java.util.concurrent.ArrayBlockingQueue;
- import java.util.concurrent.BlockingQueue;
- public class Main {
- public static void main(String[] args) throws IOException, InterruptedException {
- if
- (args.length ==0)
- {
- System.err.println("Nie podano scieżki ani ilości plików");
- System.exit(0);
- }
- int ilosc_plikow;
- System.out.println("args " + args[0]);
- String sciezka = (args[0]);
- ilosc_plikow = Integer.parseInt(args[1]);
- int pojemnosc = 4;
- BlockingQueue<File> kolejka = new ArrayBlockingQueue<File>(pojemnosc);
- int liczba_wątków = 4;
- Sort[] watki = new Sort[liczba_wątków];
- for (int i = 0; i < watki.length; i++) {
- watki[i] = new Sort("Watek" +i, sciezka, kolejka);
- watki[i].start();
- }
- Utworz_pliki Up = new Utworz_pliki(sciezka, ilosc_plikow);
- File file = new File(sciezka);
- if (file.isDirectory()) {
- File[] files = file.listFiles();
- for (File f : files) {
- System.out.println(f.getName());
- kolejka.put(f);
- }
- }
- }}
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Scanner;
- import java.util.*;
- import java.util.concurrent.BlockingQueue;
- public class Sort extends Thread{
- private BlockingQueue<File> kolejka;
- String sciezka;
- public Sort(String _nazwa, String sciezka, BlockingQueue<File> _kolejka){
- super(_nazwa);
- this.sciezka = sciezka;
- kolejka = _kolejka;
- }
- FileWriter zapis = null;
- public void run(){
- try{
- while(true){
- File z_kolejki = kolejka.take();
- Scanner sc = null;
- try{
- sc = new Scanner(z_kolejki);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- ArrayList<String> lista=new ArrayList<String>();
- while(sc.hasNext())
- {
- lista.add(sc.next());
- }
- sc.close();
- ArrayList<Integer> liczby = new ArrayList<Integer>();
- for(String number : lista)
- {
- liczby.add(Integer.parseInt(number));
- }
- Collections.sort(liczby);
- System.out.println(Thread.currentThread().getName()+ " obsluzyl" + " sortowanie: " + liczby.toString());
- try {
- zapis = new FileWriter(z_kolejki);
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- zapis.write(String.valueOf(liczby));
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- zapis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- } catch (InterruptedException e) {e.printStackTrace();}
- }}
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- import java.io.*;
- import java.util.Random;
- public class Utworz_pliki {
- public String sciezka;
- public int ilosc_plikow;
- public Utworz_pliki(String sciezka,int ilosc_plikow) throws IOException {
- this.sciezka = sciezka;
- this.ilosc_plikow=ilosc_plikow;
- PrintWriter writer;
- Random los = new Random();
- int wielkosc_plikow = 250;
- int decrement = wielkosc_plikow/ilosc_plikow;
- for(int i = 1;i<=ilosc_plikow;i++){
- writer = new PrintWriter(sciezka + "Dokument"+i+".txt");
- for(int j=0;j<wielkosc_plikow;j++){
- int n =los.nextInt(100)+1;
- writer.println(n);
- }
- writer.close();
- wielkosc_plikow=wielkosc_plikow-decrement;
- }
- }
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement