JAVA I TY.....

  • Nie jesteś zalogowany.
  • Polecamy: Gry

#1 2011-02-03 17:05:13

 Ania

Nowy użytkownik

Skąd: Sosnowiec
Zarejestrowany: 2011-02-03
Posty: 3
Punktów :   

4

Wykorzystaj plik „parser.txt”. Odczytaj wszystkie
liczby z pliku, a następnie zapisz je do nowego pliku
w kolejności rosnącej.

Offline

 

#2 2011-02-20 17:07:55

 KG90

Nowy użytkownik

Zarejestrowany: 2011-02-20
Posty: 1
Punktów :   

Re: 4

import java.io.FileReader;
import java.io.StreamTokenizer;
import java.io.FileOutputStream;
import java.util.Arrays;

public class zadanie_4
{
    public static void main(String[] args)
    {
/*==========================================================
Najpierw sprawdzamy jak duza tablice musimy stworzyc aby zmiescic w niej wszystkie liczby
z pliku parser.txt
==========================================================*/
//************************************************************* Otwieranie pliku
        FileReader fr = null;

        try
        {
            fr = new FileReader("parser.txt");
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//********************************************* Sprawdzanie ile jest w nim liczb
        int odczyt=0,licznik=0;

        StreamTokenizer st = new StreamTokenizer(fr);

        try
        {
            while((odczyt = st.nextToken()) != StreamTokenizer.TT_EOF)
            {
                if(odczyt == StreamTokenizer.TT_NUMBER)
                licznik++;
            }
            System.out.println("Wykryte liczby: " + licznik);
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//************************************************************* Zamykanie pliku
        try
        {
            fr.close();
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
/*==========================================================
Teraz gdy juz wiemy jak duzej tablicy potrzebujemy, tworzymy ja i zapisujemy do niej liczby
==========================================================*/
//******************************************************* Ponowne otwieranie pliku
        FileReader fr_2 = null;

        try
        {
            fr_2 = new FileReader("parser.txt");
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//******************************************************* Zapis liczb do tablicy
        double tab [] = new double [licznik];
        double liczba;
        int i=0;

        odczyt=0;

        StreamTokenizer st_2 = new StreamTokenizer(fr_2);

        try
        {
            while((odczyt = st_2.nextToken()) != StreamTokenizer.TT_EOF)
            {
                if(odczyt == StreamTokenizer.TT_NUMBER)
                {
                    liczba = st_2.nval;
                    tab[i] = liczba;
                    i++;
                }
            }
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//************************************************************* Zamykanie pliku
        try
        {
            fr_2.close();
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
/*==========================================================
Liczby sa juz w tablicy, teraz je posortujemy
==========================================================*/

//*********************************************************** Sortowanie tablicy
        Arrays.sort(tab);

/*==========================================================
Posortowana zawartosc zapisujemy do nowego pliku
==========================================================*/
//************ Otwieranie nowego pliku i umieszczenie w nim posortowanych danych
        FileOutputStream fos = null;
        String str;
        try
        {
            fos = new FileOutputStream("new_parser.txt");

            for(int j=0;j<tab.length;j++)
            {

                str = Double.toString(tab[j]);
                str += '\n';

                for(int k=0;k<str.length();k++)
                {
                    fos.write((int)str.charAt(k));

                }
            }

        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//************************************************************* Zamykanie pliku
        try
        {
            fos.close();
        }
        catch(Exception e)
        {
            System.out.println(e.toString());
        }
//******************************************************************************
        System.out.println("Operacja zakonczona powodzeniem");
    }
}

Ostatnio edytowany przez KG90 (2011-02-20 17:20:07)

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
pierwszy rowerek biegowy dla dzieci weekend w ciechocinku z zabiegami