Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.ArrayList;
- import java.util.List;
- public class Waluty {
- public static void kursyWalut(String plikWy, String plikWyHTML) throws IOException {
- BufferedReader plikWalut1 = null;
- BufferedReader plikWalut2 = null;
- PrintWriter plikWyj = null;
- PrintWriter plikWyjHTML = null;
- String nazwaWalut1="16a002.xml";
- String nazwaWalut2="16a006.xml";
- //String linia="";
- //int nrLinii=0;
- List<String> listaNazw = new ArrayList<String>();
- List<String> listaPrzelicznik = new ArrayList<String>();
- List<String> listaKod = new ArrayList<String>();
- List<String> listaKurs = new ArrayList<String>();
- List<String> listaKurs2 = new ArrayList<String>();
- try {
- plikWalut1 = new BufferedReader(new FileReader(nazwaWalut1));
- String waluty1 = plikWalut1.readLine();
- plikWalut2 = new BufferedReader(new FileReader(nazwaWalut2));
- String waluty2 = plikWalut2.readLine();
- plikWyj = new PrintWriter(new FileWriter(plikWy, false));
- plikWyjHTML = new PrintWriter(new FileWriter(plikWyHTML, false));
- String kurs1Format="";
- String kurs2Format="";
- String nazwaTabeli1="";
- String nazwaTabeli2="";
- String dataTabeli1="";
- String dataTabeli2="";
- float roznicaKursu=0;
- plikWyj.print("");
- while (waluty1!= null) {
- //nrLinii++;
- //System.out.println(waluty1);
- if(waluty1.contains("<numer_tabeli>")){
- for(int i=waluty1.indexOf('>')+1;i<waluty1.lastIndexOf('<');i++){
- nazwaTabeli1+=waluty1.charAt(i);
- }
- for(int i=waluty2.indexOf('>')+1;i<waluty2.lastIndexOf('<');i++){
- nazwaTabeli2+=waluty2.charAt(i);
- }
- }
- if(waluty1.contains("<data_publikacji>")){
- for(int i=waluty1.indexOf('>')+1;i<waluty1.lastIndexOf('<');i++){
- dataTabeli1+=waluty1.charAt(i);
- }
- for(int i=waluty2.indexOf('>')+1;i<waluty2.lastIndexOf('<');i++){
- dataTabeli2+=waluty2.charAt(i);
- }
- }
- if(waluty1.contains("<nazwa_waluty>")){
- listaNazw.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
- }
- if(waluty1.contains("<przelicznik>")){
- listaPrzelicznik.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
- }
- if(waluty1.contains("<kod_waluty>")){
- listaKod.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
- }
- if(waluty1.contains("<kurs_sredni>")){
- listaKurs.add(waluty1.substring(waluty1.indexOf('>')+1, waluty1.lastIndexOf('<')));
- }
- if(waluty2.contains("<kurs_sredni>")){
- listaKurs2.add(waluty2.substring(waluty2.indexOf('>')+1, waluty2.lastIndexOf('<')));
- }
- waluty1 = plikWalut1.readLine();
- waluty2 = plikWalut2.readLine();
- }
- //HTML
- plikWyjHTML.println("<!DOCTYPE html");
- plikWyjHTML.println("PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"");
- plikWyjHTML.println("\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
- plikWyjHTML.println("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"pl\" lang=\"pl\">");
- plikWyjHTML.println("<head>");
- plikWyjHTML.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" />");
- plikWyjHTML.println("<meta name=\"Description\" content=\"Tu wpisz opis zawartości strony\" />");
- plikWyjHTML.println("<meta name=\"Keywords\" content=\"Tu wpisz wyrazy kluczowe rozdzielone przecinkami\" />");
- plikWyjHTML.println("<title>Tu wpisz tytuł strony</title>");
- plikWyjHTML.println("</head>");
- plikWyjHTML.println("<body>");
- //Tu wpisuje się treść strony
- plikWyj.println("Tabela nr "+nazwaTabeli1+" z dnia "+dataTabeli1+" w porównaniu z tabelą nr "+nazwaTabeli2+" z dnia "+dataTabeli2);
- plikWyj.printf("%s%38s%5s%9s%11s\n\r","Nazwa waluty","Przelicznik","Kod","Kurs","Zmiana");
- plikWyj.println();
- plikWyjHTML.println("<pre>Tabela nr "+nazwaTabeli1+" z dnia "+dataTabeli1+" w porównaniu z tabelą nr "+nazwaTabeli2+" z dnia "+dataTabeli2+"<br /></pre>");
- plikWyjHTML.printf("<pre>%s%38s%5s%9s%11s<br /></pre>","Nazwa waluty","Przelicznik","Kod","Kurs","Zmiana");
- for(int i=0;i<listaNazw.size();i++){
- //System.out.println(listaNazw.get(i-1)+" "+listaPrzelicznik.get(i-1)+" "+listaKod.get(i-1)+" "+listaKurs.get(i-1));
- //System.out.println(listaKurs.get(i).length());
- for(int j=0;j<listaKurs.get(i).length();j++){ //Petla for zmieniająca przecinek na kropke
- if(listaKurs.get(i).charAt(j)==','){
- kurs1Format+='.';
- }
- else{
- kurs1Format+=listaKurs.get(i).charAt(j);
- }
- if(listaKurs2.get(i).charAt(j)==','){
- kurs2Format+='.';
- }
- else{
- kurs2Format+=listaKurs2.get(i).charAt(j);
- }
- }
- roznicaKursu = Float.parseFloat(kurs1Format)-Float.parseFloat(kurs2Format); //Zmiana Stringa z Listy na Float i otrzymanie różnicy kursów
- 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
- plikWyj.println(); //Nie wiem czemu \n nie robi nowej lini :(
- if(roznicaKursu>0){
- 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);
- }
- else{
- 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);
- }
- roznicaKursu = 0; //resetowanie wartosci potrzebne do poprawnego dzialania
- kurs2Format="";
- kurs1Format="";
- }
- plikWyjHTML.println("</body>");
- plikWyjHTML.println("</html>");
- } finally {
- if (plikWalut1 != null) {
- plikWalut1.close();
- }
- if (plikWalut2 != null){
- plikWalut2.close();
- }
- plikWyj.close();
- plikWyjHTML.close();
- }
- }
- public static void main(String[] args) throws IOException{
- // TODO Auto-generated method stub
- String plikWy="tabelaWalut.txt"; //Plik wyjsciowy w postaci TABELI
- String plikWyHTML="tabelaWalut.html"; //Plik wyjsciowy w postaci HTML
- kursyWalut(plikWy,plikWyHTML); //wywołanie funkcji kursyWalut
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement