Warsztat Java #3 - Lokalizacja i operacje na plikach
What you'll learn
- Poznanie koncepcji internacjonalizacji i lokalizacji oraz ich znaczenia w tworzeniu aplikacji wielojęzycznych.
- Użycie pakietów zasobów (ResourceBundle) do zarządzania tekstami i zasobami dla różnych języków.
- Formatowanie dat, liczb i walut zgodnie z ustawieniami regionalnymi użytkownika.
- mplementacja wsparcia dla wielu języków i regionów w aplikacjach Java.
- Automatyczne zarządzanie zasobami (np. plikami, strumieniami) za pomocą konstrukcji try-with-resources.
- Zarządzanie zasobami, które muszą być zamknięte po użyciu, oraz obsługa wyjątków ukrytych (suppressed exceptions).
- Zrozumienie struktury systemu plików i podstawowych operacji na plikach.
- Praca z plikami i katalogami przy użyciu klasy File.
- Teoria strumieni wejścia/wyjścia oraz ich zastosowania.
- Użycie podstawowych strumieni bajtowych do operacji na plikach.
- Poprawa wydajności operacji wejścia/wyjścia za pomocą buforowanych strumieni.
- Praca ze strumieniami znakowymi do obsługi danych tekstowych.
- Zapis i odczyt obiektów Javy do/z plików przy użyciu mechanizmu serializacji.
- Formatowany zapis danych przy użyciu klas PrintStream i PrintWriter.
- Wczytywanie danych z różnych źródeł przy użyciu klasy Scanner.
- Wprowadzenie do interfejsu Path i jego zastosowań.
- Nowoczesne podejście do operacji na plikach z użyciem klas Paths i Files.
- Różnice i zalety nowego API NIO.2 w porównaniu do klasycznego IO.
- Rozwiązywanie zadań praktycznych, które pozwalają na zastosowanie zdobytej wiedzy.
Requirements
- Uczestnik powinien być zaznajomiony z podstawowymi konstrukcjami językowymi Javy, takimi jak zmienne, pętle, warunki, klasy i interfejsy.
- Uczestnik powinien rozumieć, jak obsługiwać wyjątki w Javie za pomocą try-catch-finally oraz wiedzieć, jak definiować i rzucać własne wyjątki.
- Powinien znać podstawowe kolekcje Javy, takie jak listy, zestawy i mapy, oraz umieć wykonywać podstawowe operacje na tych kolekcjach.
Description
Warsztat koncentruje się na dwóch kluczowych aspektach tworzenia aplikacji w Javie: lokalizacji (internationalization and localization) oraz operacjach na plikach. Kurs ten ma na celu nauczenie uczestników, jak tworzyć aplikacje wspierające różne języki i formaty regionalne, a także jak efektywnie zarządzać plikami na dysku, w tym ich wczytywaniem, zapisywaniem, edycją oraz serializacją obiektów.
W ramach tego warsztatu porozmawiamy o regionalizacji aplikacji, ustawieniach regionalnych, wspieraniu kilku języków przez aplikację oraz formatach danych, które są z tym związane. Przejdziemy do operacji na plikach, czyli wczytywaniu pliku z dysku, zapisywanie plików na dysku oraz ich edycję. Porozmawiamy również o serializacji obiektów, czyli jak można utworzony w Javie obiekt zapisać do pliku. Powiemy sobie do tego, czym jest IO oraz NIO.2.
Tematyka Warsztatu:
1. Lokalizacja:
Internationalization i Localization:
Wprowadzenie do koncepcji internacjonalizacji i lokalizacji aplikacji.
Omówienie, jak aplikacje mogą wspierać różne języki i formaty regionalne.
Resource Bundle:
Jak używać pakietów zasobów do zarządzania różnymi wersjami językowymi.
Formatowanie w zależności od lokalizacji:
Formatowanie danych, takich jak daty, liczby i waluty, w zależności od ustawień regionalnych użytkownika.
2. Operacje na Plikach:
Exceptions - rozszerzamy wiedzę pod operacje na plikach:
Rozszerzenie wiedzy na temat obsługi wyjątków, ze szczególnym uwzględnieniem operacji na plikach.
Try-With-Resources:
Automatyczne zarządzanie zasobami (pliki, strumienie) w Javie.
AutoCloseable i SuppressedExceptions:
Implementacja i zarządzanie zasobami, które muszą być zamknięte po użyciu.
3. Podstawy IO i NIO.2:
IO - in/out i koncept systemu plików:
Podstawy systemu plików w Javie oraz klasyczne operacje wejścia/wyjścia.
Klasa File:
Praca z plikami i katalogami za pomocą klasy File.
Strumienie (Streams):
Teoria strumieni wejścia/wyjścia oraz ich praktyczne zastosowania.
InputStream, OutputStream:
Podstawowe strumienie bajtowe w Javie.
BufferedInputStream, BufferedOutputStream:
Buforowane strumienie, które poprawiają wydajność operacji wejścia/wyjścia.
Reader, Writer:
Strumienie znakowe do obsługi danych tekstowych.
4. Serializacja:
Serialization i Deserialization:
Zapis i odczyt obiektów Javy do/z plików.
5. Zaawansowane Operacje na Plikach:
PrintStream, PrintWriter:
Zaawansowane klasy do formatowanego zapisu danych.
Scanner:
Wczytywanie danych z różnych źródeł przy użyciu klasy Scanner.
6. NIO.2:
Interface Path:
Wprowadzenie do interfejsu Path i jego zastosowań.
Klasy Paths and Files:
Nowoczesne podejście do operacji na plikach z użyciem klas Paths i Files.
Porównanie NIO.2 vs IO:
Różnice i zalety nowego API NIO.2 w porównaniu do klasycznego IO.
8. Zadania i Projekt Końcowy:
Praktyczne zadania i projekt końcowy:
Ćwiczenia praktyczne, które pozwalają na zastosowanie zdobytej wiedzy w rzeczywistych scenariuszach programistycznych.
Korzyści z Uczestnictwa w Kursie:
Zdobycie umiejętności lokalizowania aplikacji i wspierania różnych ustawień regionalnych.
Poznanie zaawansowanych technik operacji na plikach, w tym zarządzania strumieniami i serializacją obiektów.
Praktyczne doświadczenie z nowoczesnym API NIO.2.
Zastosowanie zdobytej wiedzy w praktycznych zadaniach i projekcie końcowym, co przyczyni się do lepszego zrozumienia i utrwalenia materiału.
Uczestnicy kursu nauczą się, jak tworzyć aplikacje, które wspierają różne języki i ustawienia regionalne, a także jak efektywnie zarządzać plikami na dysku. Zdobędą umiejętności nie tylko w zakresie podstawowych operacji wejścia/wyjścia, ale także zaawansowanych technik, takich jak serializacja obiektów i wykorzystanie nowoczesnego API NIO.2. Kurs przygotowuje uczestników do tworzenia bardziej złożonych i wszechstronnych aplikacji w Javie, które są gotowe na globalny rynek.
Warsztat ten jest trzecim warsztatem w ramach ścieżki Zajavka. Oczywiście możesz go realizować niezależnie od innych moich materiałów.
Ten warsztat został nagrany w Java 17. Testy w tym warsztacie również odnoszą się do Java 17. Ma to o tyle znaczenie, że jeżeli będziesz korzystać z nowszych wersji Java, to teoretycznie mogły tam nastąpić jakieś kosmetyczne zmiany. Dlatego dla spójności, zalecamy korzystanie z JDK 17, żeby Twoje przykłady zachowywały się tak jak na nagraniach, ale nie zabraniamy korzystać z nowszego JDK.
Kurs jest idealny dla programistów, którzy chcą poszerzyć swoje umiejętności w zakresie lokalizacji aplikacji oraz zaawansowanych operacji na plikach w Javie.
Who this course is for:
- Średniozaawansowani Programiści Javy
- Programiści Pracujący w Branży IT
- Absolwenci Bootcampów Programistycznych
- Studenci Informatyki
- Programiści Pracujący nad Aplikacjami Wielojęzycznymi
Instructors
Zajavka to kompletny, profesjonalny i pasjonujący roczny kurs programowania. Zajavkę stworzyliśmy z myślą o tych, którzy pragną rozpocząć swoją intensywną przygodę z programowaniem i w ciągu 12 miesięcy osiągnąć poziom profesjonalnego programisty Javy. Zacznij naukę od bootcampu od podstaw i kontynuuj ją w warsztatach, które krok po kroku, intensywnie i w ciągu kilku miesięcy przygotują Cię do pełnienia roli profesjonalnego programisty Javy.
Jestem programistą Java z ponad 9 letnim doświadczeniem komercyjnym. Zajmuję się głównie technologiami Java i JVM oraz tworzeniem stron aplikacji webowych wykorzystujących technologie Java, Spring, Kafka. Mam również doświadczenie w tworzeniu aplikacji opartych o React. Stawiam przede wszystkim na ciągły rozwój osobisty, zdobywanie nowych umiejętności i podnoszenie jakości swojej pracy. W swojej karierze zawodowej spędziłem dużo czasu ucząc innych, prowadząc szkolenia i nagrywając materiały wideo w celach edukacyjnych.