Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pigment;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.Scanner;
- class Virtually_library
- {
- private int size_of_library; //zmienna przechowująca liczbę pozycji wirtu-
- private String library_source; //alnej biblioteki; łańcuch przechowujący adres
- private final ArrayList<Item> library; //biblioteki; lista przechowująca pozycje biblio-
- //teki, obiekty typu Item- wirtualny reprezentant
- Virtually_library() //biblioteki; konstruktor klasy tworzy nową listę,
- { //przypisuje zmiennej przechowującej liczebność
- this.size_of_library=0; //biblioteki wartość początkową oraz ustawia
- this.library = new ArrayList<>(); //adres biblioteki
- select_library();
- }
- void select_library() //metoda pozyskująca adres biblioteki od użytkownika
- {
- Scanner reader=new Scanner(System.in);
- String path;
- System.out.println("Wybierz adres biblioteki");
- path=reader.nextLine();
- this.library_source=path;
- }
- void delete_library() //metoda usuwająca wszystkie pozycje wirtualnej
- { //biblioteki, przypisując tym samym wartość 0 roz-
- library.removeAll(library); //miarowi biblioteki
- this.size_of_library=library.size();
- }
- void load_library() //ładowanie wirtualnej biblioteki na podstawie plików z folderu
- { //plików znajdujących się w folderze o zadanym
- delete_library(); //adresie przechowywanym w zmiennej library_so-
- File folder=new File(library_source); //urce
- File[] list_of_files=folder.listFiles();
- int s=0;
- for (File list_of_file: list_of_files)
- {
- if (list_of_file.isFile())
- {
- Item position=new Item(list_of_file.getAbsolutePath(), null);
- position.set_everything();
- this.library.add(position);
- s++;
- }
- }
- this.size_of_library=s; //wraz z dodaniem do listy nowej pozycji, zwię-
- } //biblioteki, zwiększa się rozmiar wirtualnej biblioteki
- void refresh_library() //metoda odświeżająca wirtualną bibliotekę
- {
- delete_library();
- load_library();
- }
- int get_size_of_library() //metoda zwracajaca rozmiar biblioteki
- {
- return library.size();
- }
- boolean check_if_exists(String name) //metoda sprawdzająca czy w folderze przechowu-
- { //jącym pliki widmowe istnieje plik o zadanej na-
- File folder=new File(library_source); //zwie
- File[] listoffiles=folder.listFiles();
- boolean success=false;
- for (File listoffile: listoffiles)
- {
- String name1 = listoffile.getName();
- if(name.equals(name1))
- {
- success=true;
- break;
- }
- else
- {
- success=false;
- }
- }
- return success;
- }
- void copy_file(String path) //metoda kopiująca plik do folderu biblioteki
- {
- InputStream inStream;
- OutputStream outStream;
- File namex=new File(path);
- String name=namex.getName();
- try
- {
- File afile=new File(path);
- File bfile=new File(library_source+"\\"+name);
- inStream=new FileInputStream(afile);
- outStream=new FileOutputStream(bfile);
- byte[] buffer=new byte[1024];
- int length;
- while ((length=inStream.read(buffer))>0)
- {
- outStream.write(buffer, 0, length);
- }
- inStream.close();
- outStream.close();
- }
- catch(IOException e)
- {
- e.printStackTrace();
- }
- }
- void add_item(String path) //metoda dodająca plik do biblioteki plików
- {
- File x=new File(path);
- File folder=new File(library_source);
- File[] listoffiles=folder.listFiles();
- if(listoffiles.length==0)
- {
- copy_file(path);
- }
- else if(!check_if_exists(x.getName()))
- {
- copy_file(path);
- System.out.println("This file is on your data base now");
- }
- else
- {
- System.out.println("This file already exists");
- }
- refresh_library();
- }
- void delete_item(String name) //metoda usuwająca plik o zadanej nazwie z bib-
- { //blioteki plików
- try
- {
- File file=new File(library_source+"\\"+name);
- if(check_if_exists(name))
- {
- if(file.delete())
- {
- System.out.println(file.getName()+" is deleted!");
- }
- else
- {
- System.out.println("Something went wrong.");
- }
- }
- else
- {
- System.out.println("This file doesn't exist");
- }
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- refresh_library();
- }
- ArrayList get_list() //metoda zwracająca listę obiektów wirtualnej
- { //biblioteki
- load_library();
- return library;
- }
- ArrayList<String> check_similarity(String path, String back) //metody analizujące widma
- {
- ArrayList a=get_list();
- return Counting.check_similarity(path, back, a);
- }
- ArrayList<String> count_SAM(String path, String back)
- {
- ArrayList a=get_list();
- return Counting.count_SAM(path, back, a);
- }
- ArrayList<String> check_containing(String path, String back)
- {
- ArrayList a=get_list();
- return Counting.check_containing(path, back, a, "SAM");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement