Advertisement
fryc1906

Projekt2.0

Jan 13th, 2016
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.41 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4.  
  5. public class Waluty {
  6.  
  7.     public static void kursyWalut(String plikWy, String plikWyHTML) throws IOException {
  8.        
  9.         BufferedReader plikWalut1 = null;
  10.         BufferedReader plikWalut2 = null;
  11.         PrintWriter plikWyj = null;
  12.         PrintWriter plikWyjHTML = null;
  13.         String nazwaWalut1="16a002.xml";
  14.         String nazwaWalut2="16a006.xml";
  15.         //String linia="";
  16.         //int nrLinii=0;
  17.         List<String> listaNazw = new ArrayList<String>();
  18.         List<String> listaPrzelicznik = new ArrayList<String>();
  19.         List<String> listaKod = new ArrayList<String>();
  20.         List<String> listaKurs = new ArrayList<String>();
  21.         List<String> listaKurs2 = new ArrayList<String>();
  22.         try {            
  23.             plikWalut1 = new BufferedReader(new FileReader(nazwaWalut1));
  24.             String waluty1 = plikWalut1.readLine();
  25.             plikWalut2 = new BufferedReader(new FileReader(nazwaWalut2));
  26.             String waluty2 = plikWalut2.readLine();
  27.             plikWyj = new PrintWriter(new FileWriter(plikWy, false));
  28.             plikWyjHTML = new PrintWriter(new FileWriter(plikWyHTML, false));
  29.             String kurs1Format="";
  30.             String kurs2Format="";
  31.            
  32.             String nazwaTabeli1="";
  33.             String nazwaTabeli2="";
  34.             String dataTabeli1="";
  35.             String dataTabeli2="";
  36.            
  37.             float roznicaKursu=0;
  38.             plikWyj.print("");
  39.             while (waluty1!= null) {
  40.                 //nrLinii++;
  41.                 //System.out.println(waluty1);
  42.                
  43.                 if(waluty1.contains("<numer_tabeli>")){
  44.                    
  45.                     for(int i=waluty1.indexOf('>')+1;i<waluty1.lastIndexOf('<');i++){
  46.                         nazwaTabeli1+=waluty1.charAt(i);
  47.                     }
  48.                     for(int i=waluty2.indexOf('>')+1;i<waluty2.lastIndexOf('<');i++){
  49.                         nazwaTabeli2+=waluty2.charAt(i);
  50.                     }
  51.                 }
  52.                 if(waluty1.contains("<data_publikacji>")){
  53.                     for(int i=waluty1.indexOf('>')+1;i<waluty1.lastIndexOf('<');i++){
  54.                         dataTabeli1+=waluty1.charAt(i);
  55.                     }
  56.                     for(int i=waluty2.indexOf('>')+1;i<waluty2.lastIndexOf('<');i++){
  57.                         dataTabeli2+=waluty2.charAt(i);
  58.                     }
  59.                 }
  60.                
  61.                 if(waluty1.contains("<nazwa_waluty>")){
  62.                     listaNazw.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
  63.                 }
  64.                 if(waluty1.contains("<przelicznik>")){
  65.                     listaPrzelicznik.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
  66.                 }
  67.                 if(waluty1.contains("<kod_waluty>")){
  68.                     listaKod.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
  69.                 }
  70.                 if(waluty1.contains("<kurs_sredni>")){
  71.                     listaKurs.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
  72.                 }
  73.                 if(waluty2.contains("<kurs_sredni>")){
  74.                     listaKurs2.add(waluty2.substring(waluty2.indexOf('>')+1, waluty2.lastIndexOf('<')));
  75.                 }
  76.                
  77.                 waluty1 = plikWalut1.readLine();
  78.                 waluty2 = plikWalut2.readLine();
  79.             }
  80.            
  81.             //HTML
  82.            
  83.             plikWyjHTML.println("<!DOCTYPE html");
  84.             plikWyjHTML.println("PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"");
  85.             plikWyjHTML.println("\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
  86.             plikWyjHTML.println("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"pl\" lang=\"pl\">");
  87.             plikWyjHTML.println("<head>");
  88.             plikWyjHTML.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" />");
  89.             plikWyjHTML.println("<meta name=\"Description\" content=\"Tu wpisz opis zawartości strony\" />");
  90.             plikWyjHTML.println("<meta name=\"Keywords\" content=\"Tu wpisz wyrazy kluczowe rozdzielone przecinkami\" />");
  91.             plikWyjHTML.println("<title>Tu wpisz tytuł strony</title>");
  92.             plikWyjHTML.println("</head>");
  93.             plikWyjHTML.println("<body>");
  94.  
  95.             //Tu wpisuje się treść strony
  96.  
  97.            
  98.            
  99.            
  100.             plikWyj.println("Tabela nr "+nazwaTabeli1+" z dnia "+dataTabeli1+" w porównaniu z tabelą nr "+nazwaTabeli2+" z dnia "+dataTabeli2);
  101.             plikWyj.printf("%s%38s%5s%9s%11s\n\r","Nazwa waluty","Przelicznik","Kod","Kurs","Zmiana");
  102.             plikWyj.println();
  103.             plikWyjHTML.println("<pre>Tabela nr "+nazwaTabeli1+" z dnia "+dataTabeli1+" w porównaniu z tabelą nr "+nazwaTabeli2+" z dnia "+dataTabeli2+"<br /></pre>");
  104.             plikWyjHTML.printf("<pre>%s%38s%5s%9s%11s<br /></pre>","Nazwa waluty","Przelicznik","Kod","Kurs","Zmiana");
  105.            
  106.         for(int i=0;i<listaNazw.size();i++){
  107.             //System.out.println(listaNazw.get(i-1)+" "+listaPrzelicznik.get(i-1)+" "+listaKod.get(i-1)+" "+listaKurs.get(i-1));
  108.             //System.out.println(listaKurs.get(i).length());
  109.             for(int j=0;j<listaKurs.get(i).length();j++){   //Petla for zmieniająca przecinek na kropke
  110.                 if(listaKurs.get(i).charAt(j)==','){
  111.                     kurs1Format+='.';
  112.                 }
  113.                 else{
  114.                     kurs1Format+=listaKurs.get(i).charAt(j);
  115.                 }
  116.                 if(listaKurs2.get(i).charAt(j)==','){
  117.                     kurs2Format+='.';
  118.                 }
  119.                 else{
  120.                     kurs2Format+=listaKurs2.get(i).charAt(j);
  121.                 }
  122.             }
  123.            
  124.             roznicaKursu = Float.parseFloat(kurs1Format)-Float.parseFloat(kurs2Format);     //Zmiana Stringa z Listy na Float i otrzymanie różnicy kursów
  125.            
  126.             plikWyj.printf("%s%"+(45-listaNazw.get(i).length())+"s%10s%10s%10.4f\n\r",listaNazw.get(i),listaPrzelicznik.get(i),listaKod.get(i),listaKurs2.get(i),roznicaKursu); //Formatowany zapis do pliku
  127.             plikWyj.println();      //Nie wiem czemu \n nie robi nowej lini :(
  128.            
  129.             if(roznicaKursu>0){
  130.                 plikWyjHTML.printf("<pre>%s%"+(45-listaNazw.get(i).length())+"s%10s%10s<font color=\"red\">%10.4f</font><br /></pre>",listaNazw.get(i),listaPrzelicznik.get(i),listaKod.get(i),listaKurs2.get(i),roznicaKursu);
  131.             }
  132.             else{
  133.                 plikWyjHTML.printf("<pre>%s%"+(45-listaNazw.get(i).length())+"s%10s%10s<font color=\"red\">%10.4f</font><br /></pre>",listaNazw.get(i),listaPrzelicznik.get(i),listaKod.get(i),listaKurs2.get(i),roznicaKursu);
  134.             }
  135.            
  136.            
  137.            
  138.            
  139.            
  140.            
  141.            
  142.             roznicaKursu = 0; //resetowanie wartosci potrzebne do poprawnego dzialania
  143.             kurs2Format="";
  144.             kurs1Format="";
  145.         }
  146.         plikWyjHTML.println("</body>");
  147.         plikWyjHTML.println("</html>");
  148.        
  149.             } finally {
  150.             if (plikWalut1 != null) {
  151.                 plikWalut1.close();
  152.             }
  153.             if (plikWalut2 != null){
  154.                 plikWalut2.close();
  155.             }
  156.            
  157.                 plikWyj.close();
  158.                 plikWyjHTML.close();
  159.         }
  160.        
  161.        
  162.        
  163.     }
  164.     public static void main(String[] args) throws IOException{
  165.         // TODO Auto-generated method stub
  166.        
  167.         String plikWy="tabelaWalut.txt";        //Plik wyjsciowy w postaci TABELI
  168.         String plikWyHTML="tabelaWalut.html";   //Plik wyjsciowy w postaci HTML
  169.        
  170.         kursyWalut(plikWy,plikWyHTML);          //wywołanie funkcji kursyWalut
  171.        
  172.        
  173.     }
  174.  
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement