Advertisement
Guest User

mentOS_SP

a guest
Dec 7th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.86 KB | None | 0 0
  1.  byte odczytaj(String nazwa, StringBuilder bufor, int od_bajtu, int ile_bajtow) // 0 - sukces,   -1 - zbyt dluga nazwa,   -2 - plik nie istnieje,   -3 - wyjscie poza zakres pamieci pliku
  2.     {
  3.         byte wezel = czy_istnieje(nazwa);
  4.  
  5.         if(wezel >= 0)
  6.         {
  7.             if ((od_bajtu >= 0) && ((i_wezly[wezel].rozmiar - ile_bajtow - od_bajtu) >= 0) )
  8.             {
  9.                 int ostatni_blok_wolna_pamiec;
  10.  
  11.                 if ((i_wezly[wezel].rozmiar % 32 == 0) && (i_wezly[wezel].rozmiar > 0))
  12.                 {
  13.                     ostatni_blok_wolna_pamiec = 0;
  14.                 }
  15.                 else
  16.                 {
  17.                     ostatni_blok_wolna_pamiec = 32 - (i_wezly[wezel].rozmiar % 32);
  18.                 }
  19.  
  20.  
  21.                 int od_bloku = od_bajtu / 32;
  22.                 int pozostala_pamiec_w_bloku = 32 - (od_bajtu % 32);
  23.  
  24.                 bufor.setLength(0);
  25.                 for (int i = od_bajtu + 1; i <= ile_bajtow; i++)
  26.                 {
  27.                     if(ostatni_blok_wolna_pamiec > 0)
  28.                     {
  29.                         bufor.append(bloki[(byte)(bloki[i_wezly[wezel].blok_indeksowy * 32 + od_bloku]) * 32 + (32 - pozostala_pamiec_w_bloku)]);
  30.                         pozostala_pamiec_w_bloku--;
  31.                     }
  32.                     else
  33.                     {
  34.                         od_bloku++;
  35.                         bufor.append(bloki[(byte)(bloki[i_wezly[wezel].blok_indeksowy * 32 + od_bloku]) * 32 + (32 - pozostala_pamiec_w_bloku)]);
  36.                         pozostala_pamiec_w_bloku = 31;
  37.                     }
  38.                 }
  39.             }
  40.  
  41.             return -3;
  42.         }
  43.  
  44.         return wezel;
  45.     }
  46.  
  47.  
  48.     byte wpisz(String nazwa, String dane, int od_bajtu) // 0 - sukces,   -1 - zbyt dluga nazwa,   -2 - plik nie istnieje,   -3 - brak pamieci,    -4 - wyjscie poza zakres pamieci pliku
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement