CodeGym
Promocja
Nauka
Kursy
Zadania
Ankiety & quizy
Gry
Pomoc
Harmonogram
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw

Lekcje

  • Opinie
  • O nas
Start
Rozpocznij naukę
Rozpocznij naukę teraz
  • Mój postęp
  • Kursy
  • Mapa Questów
  • Lekcje
  • Odczyt plików tekstowych: wiersz po wierszu, w całości

    JAVA 25 SELF
    Poziom 36,Lekcja 1
    W wykładzie omawiamy odczyt linia po linii z BufferedReader oraz odczyt całości przez Files.readAllLines/ Files.readString, wybór bufora (np. 8192 bajtów), bezpieczne zamykanie zasobów przy użyciu try-with-resources, a także pracę z kodowaniami ( StandardCharsets.UTF_8). Pokazano praktyczne przykłady (zliczanie wierszy, wyszukiwanie w logu, parsowanie konfiguracji) i typowe błędy (np. OutOfMemoryError przy ładowaniu dużych plików w całości).
    Dostępne
  • Odczyt i zapis plików binarnych: InputStream, OutputStream

    JAVA 25 SELF
    Poziom 36,Lekcja 2
    Omawiamy różnicę między plikami tekstowymi i binarnymi, podstawowe strumienie bajtów InputStream/ OutputStream oraz ich implementacje plikowe ( FileInputStream, FileOutputStream). Piszemy kopiowanie z buforem, omawiamy szybkość odczytu bajt po bajcie vs blokami, zapis tablic bajtów przez write(), niuanse try-with-resources, wybór rozmiaru bufora 4– 16 KB, bezpieczne użycie readAllBytes() i typowe błędy (na przykład użycie FileReader/ FileWriter do danych binarnych).
    Dostępne
  • DataInputStream, DataOutputStream: praca z prymitywami

    JAVA 25 SELF
    Poziom 36,Lekcja 3
    W wykładzie omawiamy binarny I/O w Javie za pomocą DataInputStream i DataOutputStream: jak zapisywać i odczytywać prymitywy ( int, double, boolean) oraz napisy ( String) metodami writeXXX/ readXXX, dlaczego kolejność ma znaczenie, jak przechowywać tablice, kiedy warto dodać BufferedInputStream/ BufferedOutputStream i jakie typowe błędy prowadzą do IOException lub EOFException.
    Dostępne
  • Praca z try-with-resources: automatyczne zamykanie zasobów

    JAVA 25 SELF
    Poziom 36,Lekcja 4
    Omawiamy nowoczesny sposób bezpiecznej pracy z zasobami w Javie — try-with-resources: porównanie ze starym wzorcem try/ catch/ finally + close(), wymagania wobec typów (implementujących AutoCloseable lub Closeable), składnia try(...){...}, kolejność zamykania, „stłumione” wyjątki przez getSuppressed(), przykłady ze strumieniami wejścia/wyjścia i zasobami własnymi, a także wskazówki i typowe błędy.
    Dostępne
  • Czym jest kodowanie znaków i po co jest potrzebne

    JAVA 25 SELF
    Poziom 37,Lekcja 0
    Wyjaśniamy, czym jest kodowanie znaków i dlaczego bez niego teksty komputerowe zamieniają się w „krzaczki”. Porównujemy popularne zestawy: UTF-8, Windows-1251, ASCII, Unicode/ UTF-16. Omawiamy wewnętrzną reprezentację łańcuchów w JVM ( String w Unicode) oraz prawidłowe wejście/wyjście: jawne wskazanie kodowania przez InputStreamReader/ OutputStreamWriter i StandardCharsets.UTF_8. Na koniec — praktyczne przykłady i typowe błędy.
    Dostępne
  • Podstawowe kodowania znaków: UTF-8, UTF-16, ISO-8859-1

    JAVA 25 SELF
    Poziom 37,Lekcja 1
    Omówimy trzy podstawowe kodowania znaków, z którymi styka się programista Java: czym jest UTF-8 (standard dla sieci WWW i większości formatów), jak wygląda wewnętrzny format łańcuchów w JVM — UTF-16 (z parami surogatowymi i BOM), oraz dlaczego wciąż spotyka się ISO-8859-1. Wyjaśniamy zgodność z ASCII, rozmiar w bajtach na znak i pokazujemy poprawną pracę z kodowaniami w Javie za pomocą StandardCharsets, Files.write, Files.readString, Paths.get. Na końcu — typowe błędy: nieprawidłowy odczyt/zapis, systemowe kodowanie „domyślne”, pomylenie UTF-16/ UTF-8.
    Dostępne
  • Ustalanie kodowania przy odczycie/zapisie plików

    JAVA 25 SELF
    Poziom 37,Lekcja 2
    Jak uniknąć „krzaczków” i sprawić, aby tekst wyglądał tak samo na wszystkich maszynach: omawiamy systemowe kodowanie ( "file.encoding"), pracę z Charset i stałymi StandardCharsets, czytamy/piszemy przez Files . newBufferedReader i Files . newBufferedWriter, używamy try-with-resources, sprawdzamy dostępne kodowania i stosujemy dobre praktyki (domyślnie — "UTF-8"). Na końcu — typowe błędy i jak ich uniknąć.
    Dostępne
  • Problemy niezgodności kodowań, typowe błędy

    JAVA 25 SELF
    Poziom 37,Lekcja 3
    W tym wykładzie omawiamy „krzaki”, utratę znaków ( ?), wyjątki typu MalformedInputException, przyczyny (niedopasowanie Windows-1251/ UTF-8, systemowe kodowanie „domyślne”, BOM), diagnostykę ( file.encoding) i najlepsze praktyki: jawne wskazywanie Charset, użycie Files/ BufferedReader ze StandardCharsets, rezygnację z FileReader/ FileWriter, niuanse dla XML/ JSON oraz BOM.
    Dostępne
  • Przekodowywanie plików: odczyt w jednym kodowaniu, zapis w innym

    JAVA 25 SELF
    Poziom 37,Lekcja 4
    Jak poprawnie czytać tekst z pliku w jednym kodowaniu i zapisywać w innym za pomocą klas z java.nio.file i java.io: używamy Files.newBufferedReader/ Files.newBufferedWriter lub InputStreamReader/ OutputStreamWriter, wskazujemy odpowiedni Charset, stosujemy try-with-resources i unikamy pułapek kodowania systemowego. Instrukcja krok po kroku, przykład Windows-1251 → UTF-8, niuanse (BOM, duże pliki, wyjątki) i typowe błędy.
    Dostępne
  • IOException i FileNotFoundException: obsługa błędów

    JAVA 25 SELF
    Poziom 38,Lekcja 0
    Jak wygląda hierarchia wyjątków wejścia/wyjścia w Javie, jaka jest różnica między IOException a jego potomkiem FileNotFoundException, kiedy występują i jak je poprawnie obsługiwać. Omówimy kolejność bloków catch, praktykę czytania/zapisywania plików, wskazówki dotyczące logowania, a także krótką tabelę najczęstszych błędów. Poruszymy wyjątki kontrolowane (checked), słowa kluczowe try, catch, finally, throws oraz konstrukcję try-with-resources.
    Dostępne
  • Sprawdzanie istnienia plików i katalogów

    JAVA 25 SELF
    Poziom 38,Lekcja 1
    Jak w Javie sprawdzić, czy istnieje plik lub katalog: klasa File ze swoimi metodami exists(), isFile(), isDirectory() oraz nowoczesne podejście NIO przez Path i Files — Files.exists(), Files.isRegularFile(), Files.isDirectory(). Omówimy problem TOCTOU i dlaczego samo sprawdzenie nie zastępuje obsługi błędów: nawet po exists() możesz dostać FileNotFoundException lub AccessDeniedException, więc zawsze używaj bloków try i najlepiej try-with-resources. Plus praktyka: odczyt pliku, jeśli istnieje, tworzenie katalogu przez Files.createDirectory() i Files.createDirectories(), praca ze ścieżkami względnymi i bezwzględnymi.
    Dostępne
  • Obsługa uszkodzonych plików, odzyskiwanie danych

    JAVA 25 SELF
    Poziom 38,Lekcja 2
    Jak rozpoznać „uszkodzone” pliki po wyjątkach ( EOFException, MalformedInputException, ZipException, StreamCorruptedException), co robić przy niezgodności formatu i jakie strategie odzyskiwania stosować: logowanie i powiadomienie użytkownika, częściowy odczyt do momentu błędu, kopie zapasowe, sumy kontrolne ( SHA-256). Praktyka z odczytem do EOF, poprawna praca z kodowaniami i omówienie typowych błędów (walidacja, try-with-resources, ostrożne nadpisywanie).
    Dostępne
  • 1
  • ...
  • 16
  • 17
  • 18
  • 19
  • 20
  • ...
  • 30
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w zadaniach
  • Cennik
  • Składnia Javy
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie sukcesu
  • Aktywność
  • Program partnerski
Firma
  • O nas
  • Kontakt
  • Opinie
  • Dla mediów
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGymCodeGym to kurs online do nauki programowania w Javie od podstaw. Kurs idealny do opanowania Javy dla początkujących. Zawiera 1200+ zadań z natychmiastową weryfikacją oraz niezbędny zakres teorii podstaw Javy. Aby pomóc Ci w nauce, wprowadziliśmy zestaw funkcji motywacyjnych: quizy, projekty programistyczne, materiały o efektywnej nauce i poradnik kariery dla programisty Java.
Obserwuj nas
Język interfejsu
English Deutsch Español हिन्दी Français Português
Polski
বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym
MastercardVisa
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym