دوره تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تسلط بر Java NIO.2: ورودی/خروجی کارآمد و سیستم فایل پیشرفته در جاوا
موضوع کلی: برنامهنویسی پیشرفته جاوا
موضوع میانی: بهبود کارایی ورودی/خروجی و مدیریت فایلها در جاوا
📋 سرفصلهای دوره
- 1. مقدمهای بر Java NIO.2: چرا به یک API جدید نیاز داشتیم؟
- 2. مقایسه `java.io` و `java.nio`: تفاوتهای کلیدی و مزایا
- 3. آشنایی با مفاهیم اصلی NIO.2: Path، Files و FileSystem
- 4. راهاندازی محیط و اولین برنامه با NIO.2
- 5. معرفی اینترفیس `Path`: جایگزینی مدرن برای کلاس `File`
- 6. ایجاد یک `Path`: روشهای مختلف و بهترین شیوهها
- 7. دریافت اطلاعات اولیه از یک مسیر (Path Information)
- 8. کار با اجزای یک مسیر: نام فایل، والد و ریشه
- 9. نرمالسازی مسیرها با متد `normalize()`
- 10. ترکیب مسیرها: معرفی متد `resolve()`
- 11. ساخت مسیرهای نسبی با متد `relativize()`
- 12. مقایسه مسیرها: `equals()`, `compareTo()`, `startsWith()` و `endsWith()`
- 13. تبدیل بین `Path`, `File`, `String` و `URI`
- 14. مدیریت مسیرهای مطلق و نسبی
- 15. چالشها و نکات کار با مسیرها در سیستمعاملهای مختلف
- 16. مقدمهای بر کلاس `Files`: ابزار همهکاره مدیریت فایل
- 17. بررسی وجود فایلها و دایرکتوریها: `exists()` و `notExists()`
- 18. بررسی دسترسیها: `isReadable()`, `isWritable()` و `isExecutable()`
- 19. بررسی نوع مسیر: `isDirectory()`, `isRegularFile()` و `isSymbolicLink()`
- 20. ایجاد فایلهای جدید با `createFile()`
- 21. ایجاد دایرکتوریهای جدید: `createDirectory()` و `createDirectories()`
- 22. حذف فایلها و دایرکتوریها: متد `delete()` و `deleteIfExists()`
- 23. کپی کردن فایلها با متد `copy()`
- 24. انتقال (تغییر نام) فایلها با متد `move()`
- 25. گزینههای استاندارد کپی و انتقال (`StandardCopyOption`)
- 26. خواندن تمام محتوای یک فایل کوچک به صورت بایت (`readAllBytes`)
- 27. خواندن تمام خطوط یک فایل متنی کوچک (`readAllLines`)
- 28. نوشتن آرایه بایت در یک فایل با متد `write()`
- 29. نوشتن مجموعهای از خطوط در یک فایل متنی
- 30. گزینههای استاندارد باز کردن فایل (`StandardOpenOption`)
- 31. ورودی/خروجی با بافر: استفاده از `newBufferedReader()`
- 32. ورودی/خروجی با بافر: استفاده از `newBufferedWriter()`
- 33. کار با استریمها: `newInputStream()`
- 34. کار با استریمها: `newOutputStream()`
- 35. مقدمهای بر پیمایش دایرکتوریها
- 36. استفاده از `DirectoryStream` برای لیست کردن محتوای دایرکتوری
- 37. فیلتر کردن محتوای دایرکتوری با `DirectoryStream.Filter`
- 38. استفاده از الگوهای Glob برای فیلتر کردن فایلها
- 39. مقدمهای بر پیمایش بازگشتی درخت دایرکتوری
- 40. آشنایی با اینترفیس `FileVisitor`
- 41. پیادهسازی `FileVisitor` برای جستجوی فایلها
- 42. پیمایش درخت فایل با `Files.walkFileTree()`
- 43. کنترل فرآیند پیمایش با `FileVisitResult`
- 44. مدیریت لینکهای سیمبولیک در حین پیمایش
- 45. ایجاد فایلها و دایرکتوریهای موقت
- 46. مقدمهای بر متادیتا و صفات فایل (File Attributes)
- 47. آشنایی با `AttributeView` ها: راهی برای دسترسی به متادیتا
- 48. خواندن صفات پایهای فایل با `BasicFileAttributes`
- 49. درک زمانهای فایل: زمان ایجاد، آخرین دسترسی و آخرین تغییر
- 50. خواندن زمانهای فایل با `readAttributes()`
- 51. تنظیم زمانهای فایل با `setLastModifiedTime()`
- 52. خواندن و تنظیم مالک فایل (`FileOwnerAttributeView`)
- 53. صفات فایل در سیستمهای POSIX: آشنایی با `PosixFileAttributes`
- 54. درک مجوزهای فایل در POSIX (Read, Write, Execute)
- 55. خواندن مجوزهای فایل با `PosixFileAttributeView`
- 56. تنظیم مجوزهای فایل با `setPermissions()`
- 57. صفات فایل در سیستمهای ویندوز: `DosFileAttributes`
- 58. خواندن و تنظیم صفات Read-only, Hidden, System و Archive
- 59. کار با صفات تعریفشده توسط کاربر (`UserDefinedFileAttributeView`)
- 60. مدیریت لینکهای سیمبولیک: `createSymbolicLink()` و `readSymbolicLink()`
- 61. بازگشتی به NIO.1: مفاهیم کانال (Channel) و بافر (Buffer)
- 62. معرفی `Buffer`: کانتینر دادهها
- 63. ویژگیهای کلیدی بافر: Capacity, Limit, Position, Mark
- 64. عملیات اصلی روی بافر: `put()`, `get()`, `flip()`, `rewind()`, `clear()`
- 65. انواع بافرها: `ByteBuffer`, `CharBuffer`, `IntBuffer` و غیره
- 66. بافرهای مستقیم (Direct Buffers) در مقابل بافرهای هیپ (Heap Buffers)
- 67. ایجاد و تخصیص انواع بافرها
- 68. ورودی/خروجی مبتنی بر کانال: معرفی `FileChannel`
- 69. باز کردن `FileChannel` برای خواندن و نوشتن
- 70. خواندن داده از فایل به بافر با `FileChannel.read()`
- 71. نوشتن داده از بافر به فایل با `FileChannel.write()`
- 72. ورودی/خروجی پاشانی/تجمعی (Scatter/Gather I/O)
- 73. انتقال مستقیم داده بین کانالها: `transferTo()` و `transferFrom()`
- 74. فایلهای نگاشتشده در حافظه (Memory-Mapped Files) با `MappedByteBuffer`
- 75. قفلگذاری فایل (File Locking) برای دسترسی همزمان
- 76. مقدمهای بر ورودی/خروجی ناهمزمان (Asynchronous I/O)
- 77. چرا و چه زمانی از AIO استفاده کنیم؟
- 78. دو رویکرد در AIO: `Future` و `CompletionHandler`
- 79. معرفی `AsynchronousFileChannel`
- 80. خواندن ناهمزمان فایل با استفاده از الگوی `Future`
- 81. نوشتن ناهمزمان در فایل با استفاده از الگوی `Future`
- 82. بررسی وضعیت و دریافت نتیجه از یک `Future`
- 83. خواندن ناهمزمان فایل با استفاده از الگوی `CompletionHandler`
- 84. نوشتن ناهمزمان در فایل با استفاده از الگوی `CompletionHandler`
- 85. درک چرخه حیات عملیات ناهمزمان مبتنی بر Callback
- 86. برنامهنویسی شبکه ناهمزمان: `AsynchronousSocketChannel`
- 87. برنامهنویسی شبکه ناهمزمان: `AsynchronousServerSocketChannel`
- 88. مدیریت گروههای کانال ناهمزمان (`AsynchronousChannelGroup`)
- 89. مدیریت Timeout در عملیات AIO
- 90. لغو کردن (Cancelling) عملیات ناهمزمان
- 91. نظارت بر تغییرات سیستم فایل: معرفی `WatchService`
- 92. ثبت یک دایرکتوری برای نظارت با متد `register()`
- 93. انواع رویدادها: `ENTRY_CREATE`, `ENTRY_DELETE`, `ENTRY_MODIFY`
- 94. دریافت و پردازش رویدادهای تغییر با `WatchKey`
- 95. پیادهسازی یک سرویس نظارت بر فایلها در عمل
- 96. کار با سیستمهای فایل فشرده (ZIP/JAR)
- 97. دسترسی به محتوای یک فایل ZIP به عنوان یک FileSystem
- 98. ایجاد و دستکاری فایلهای ZIP با NIO.2
- 99. بهترین شیوهها و الگوهای طراحی برای کار با Java NIO.2
- 100. جمعبندی دوره: ترکیب آموختهها و نگاهی به آینده I/O در جاوا
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.