Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π² срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ часто трСбуСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ содСрТимоС ΠΏΠ°ΠΏΠΊΠΈ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ маскС.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, Π² 1Π‘ сущСствуСт встроСнный Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для взаимодСйствия с диском. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², критичСски Π²Π°ΠΆΠ½ΠΎ для написания ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π² толстом, Ρ‚Π°ΠΊ ΠΈ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, рассмотрим Π½ΡŽΠ°Π½ΡΡ‹ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ НайтиЀайлы ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΏΡƒΡ‚Π΅ΠΉ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ эффСктивно Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π°Ρ‚Π° измСнСния ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Основной ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ поиска Ρ„Π°ΠΉΠ»ΠΎΠ²

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ инструмСнтом для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ являСтся функция НайтиЀайлы. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Π€Π°ΠΉΠ», ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ ΠΈ свойствах Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта. Π­Ρ‚Π° функция ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… запуска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку с ΠΏΡƒΡ‚Π΅ΠΌ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ маску ΠΈΠΌΠ΅Π½ΠΈ. Если маска Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, систСма Π²Π΅Ρ€Π½Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, находящиСся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это ΠΈΠΌΠ΅Π½Π½ΠΎ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Π½Π΅ просто список строк с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Π­Ρ‚ΠΎ позволяСт сразу ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ свойствам ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ парсинга ΠΏΡƒΡ‚Π΅ΠΉ, Ρ‡Ρ‚ΠΎ сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ сниТаСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ½Ρ‹ΠΌΠΈ систСмами.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ѐункция НайтиЀайлы Π½Π΅ рСкурсивна ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Она сканируСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π½Π΅ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, потрСбуСтся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ цикличСский Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСкурсивный Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

Для получСния списка достаточно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° дСмонстрируСт Π±Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС:

МассивЀайлов = НайтиЀайлы("C:\Documents\Invoices", "*.xls");

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ЀайлИзМассива Из МассивЀайлов Π¦ΠΈΠΊΠ»

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ЀайлИзМассива.Имя);

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. Однако использованиС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмым Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, Ссли тСкущая рабочая дирСктория прилоТСния Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π² Ρ…ΠΎΠ΄Π΅ выполнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…Π€Π°ΠΉΠ»ΠΎΠ²() для получСния ΠΏΡƒΡ‚ΠΈ ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ Π²ΠΈΠ΄Π° C:\Temp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ….

Π Π°Π±ΠΎΡ‚Π° с масками ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой Π² 1Π‘ обСспСчиваСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ масок ΠΈΠΌΠ΅Π½. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символы подстановки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСм ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

БущСствуСт Π΄Π²Π° основных спСцсимвола для масок. Π—Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° * замСняСт Π»ΡŽΠ±ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов любой Π΄Π»ΠΈΠ½Ρ‹, Π° Π²ΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ ? замСняСт Ρ€ΠΎΠ²Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ символ. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹.

  • πŸ“ *.txt β€” Π½Π°ΠΉΠ΄Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ txt.
  • πŸ“„ ΠžΡ‚Ρ‡Π΅Ρ‚_?.pdf β€” Π½Π°ΠΉΠ΄Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ "ΠžΡ‚Ρ‡Π΅Ρ‚_1.pdf", Π½ΠΎ пропустит "ΠžΡ‚Ρ‡Π΅Ρ‚_10.pdf".
  • πŸ“‚ 2026*.xml β€” ΠΎΡ‚Π±Π΅Ρ€Π΅Ρ‚ всС xml-Ρ„Π°ΠΉΠ»Ρ‹, имя ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… начинаСтся с 2026.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСгистр символов Π² маскС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ игнорируСтся Π² Windows, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ΅Π½ Π² Linux-сСрвСрах, Π³Π΄Π΅ часто Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ сСрвСры 1Π‘. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для кроссплатформСнной совмСстимости Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ… ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ послС получСния списка.

πŸ“Š Какой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π² 1Π‘?
XML
Excel (xls/xlsx)
PDF
ВСкстовыС (txt/csv)
Π”Ρ€ΡƒΠ³ΠΎΠΉ

Если стандартных масок нСдостаточно, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ условий. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΎΡ‚Π±ΠΎΡ€Π°, позволяя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС рСгулярныС выраТСния ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π°.

Анализ свойств Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ массив Ρ„Π°ΠΉΠ»ΠΎΠ², часто трСбуСтся ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Π€Π°ΠΉΠ» прСдоставляСт Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±Π΅Π· открытия самого Ρ„Π°ΠΉΠ»Π°.

НаиболСС вострСбованными свойствами ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π Π°Π·ΠΌΠ΅Ρ€, Π”Π°Ρ‚Π°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π­Ρ‚ΠΎΠ€Π°ΠΉΠ». ПослСднСС свойство критичСски Π²Π°ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ функция поиска Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. Π‘Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

Бвойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
Имя Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° Π±Π΅Π· ΠΏΡƒΡ‚ΠΈ
ПолноСИмя Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ
Π­Ρ‚ΠΎΠ€Π°ΠΉΠ» Π‘ΡƒΠ»Π΅Π²ΠΎ Π˜ΡΡ‚ΠΈΠ½Π°, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся Ρ„Π°ΠΉΠ»ΠΎΠΌ
Π Π°Π·ΠΌΠ΅Ρ€ Число Π Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° Π² Π±Π°ΠΉΡ‚Π°Ρ…
Π”Π°Ρ‚Π°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π”Π°Ρ‚Π° ВрСмя послСднСго измСнСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

ИспользованиС свойства Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ позволяСт быстро Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НапримСр, XML-Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² парсСр, Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ β€” Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Бвойство Π Π°Π·ΠΌΠ΅Ρ€ для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0 ΠΈΠ»ΠΈ тСхничСский Ρ€Π°Π·ΠΌΠ΅Ρ€ слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ объСм всСх Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ занятого мСста Π½Π° дискС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΏΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ спасти сСрвСр ΠΎΡ‚ зависания ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ гигантский Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ:

Если Π€Π°ΠΉΠ».Π Π°Π·ΠΌΠ΅Ρ€ > 10485760 Π’ΠΎΠ³Π΄Π° // ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ 10 Мб

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

πŸ’‘

ВсСгда провСряйтС свойство Π­Ρ‚ΠΎΠ€Π°ΠΉΠ» ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ чтСния содСрТимого, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌ содСрТимым ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

РСкурсивный ΠΎΠ±Ρ…ΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π½ΠΎ ΠΈ Π²ΠΎ всСх Π΅Ρ‘ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ стандартная функция НайтиЀайлы этого Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСкурсивный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.

Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² создании ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, которая сканируСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ саму сСбя. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСму Π΄Π΅Ρ€Π΅Π²Ρƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ рСкурсии Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это отсутствиС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈΠ»ΠΈ достиТСниС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ влоТСния. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠΎΠ±Ρ…ΠΎΠ΄ тысяч ΠΌΠ΅Π»ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ врСмя.

  • πŸ”„ Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠŸΡƒΡ‚ΡŒΠšΠšΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ.
  • πŸ“‚ Π’Π½ΡƒΡ‚Ρ€ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ НайтиЀайлы для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ.
  • πŸ“ ΠŸΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Ρ†ΠΈΠΊΠ»ΠΎΠΌ: Ссли это Ρ„Π°ΠΉΠ» β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅, Ссли ΠΏΠ°ΠΏΠΊΠ° β€” Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ снова.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ структуры Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ для пропуска слуТСбных Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ "." ΠΈ "..", хотя Π² 1Π‘ ΠΎΠ½ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ автоматичСски Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡŽΡ‚ΡΡ, явная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ ΠΏΠΎΠΌΠ΅ΡˆΠ°Π΅Ρ‚.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±ΠΎΠΉΡ‚ΠΈΠŸΠ°ΠΏΠΊΡƒ(ΠŸΡƒΡ‚ΡŒ)

Массив = НайтиЀайлы(ΠŸΡƒΡ‚ΡŒ);

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Из Массив Π¦ΠΈΠΊΠ»

Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.Π­Ρ‚ΠΎΠ€Π°ΠΉΠ» Π’ΠΎΠ³Π΄Π°

// Π›ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°

Π˜Π½Π°Ρ‡Π΅

ΠžΠ±ΠΎΠΉΡ‚ΠΈΠŸΠ°ΠΏΠΊΡƒ(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ПолноСИмя);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ рСкурсии

Для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… дисках ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π“Π»ΡƒΠ±ΠΈΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ ΠΏΡ€ΠΈ достиТСнии нуля.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅

АрхитСктура 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ части. Π­Ρ‚ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ограничСния Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. Π€Π°ΠΉΠ»Ρ‹, доступныС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ), находятся Π½Π° Π΅Π³ΠΎ локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π° сСрвСр Π²ΠΈΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свой диск.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ НайтиЀайлы Π½Π° сСрвСрС с ΠΏΡƒΡ‚Π΅ΠΌ ΠΊ диску ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C:\Users\Ivanov\Docs) Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой ΠΈΠ»ΠΈ Π²Π΅Ρ€Π½Π΅Ρ‚ пустой массив, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сСрвСр физичСски Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ этому рСсурсу. И Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с диска сСрвСра.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Если Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Ρ‹Π±ΠΎΡ€ маски ΠΈ списка Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π° сами Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° сСрвСр Ρ‡Π΅Ρ€Π΅Π· Π₯ранилищСЗначСния ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ. Если ΠΆΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ Π½Π° сСрвСрС, Ρ‚ΠΎ вСсь процСсс поиска ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² сСрвСрном контСкстС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅) доступ ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎ сообраТСниям бСзопасности. Π’Ρ‹ Π½Π΅ смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ² с диска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±Π΅Π· явного Π²Ρ‹Π±ΠΎΡ€Π° Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΠ°Π»ΠΎΠ³ открытия Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния всСгда Ρ‡Π΅Ρ‚ΠΊΠΎ опрСдСляйтС, Π³Π΄Π΅ физичСски Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Ошибка Π² контСкстС выполнСния β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠΈ 1Π‘ Π² распрСдСлСнных инфраструктурах.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° контСкста выполнСния

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций

Π Π°Π±ΠΎΡ‚Π° с внСшними рСсурсами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ файловая систСма, всСгда сопряТСна с рисками. Π€Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обращСния, ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ нСдоступным ΠΈΠ·-Π·Π° сСтСвых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΈΠ»ΠΈ Ρƒ процСсса 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π² этот Π±Π»ΠΎΠΊ, Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ всСй Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ зависаниС интСрфСйса.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ сСтСвым путям (UNC). Если сСрвСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располоТСна ΠΏΠ°ΠΏΠΊΠ°, Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ ΡΠ΅Ρ‚ΡŒ "ΠΎΡ‚Π²Π°Π»ΠΈΠ»Π°ΡΡŒ", функция поиска ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ, оТидая Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Бписок = НайтиЀайлы(ΠŸΡƒΡ‚ΡŒ);

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка доступа ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ: " + ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ антивирусы ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ скриптов ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ систСмныС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ странныС ошибки доступа ΠΊ Π»Π΅Π³Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки бСзопасности ОБ ΠΈ Π»ΠΎΠ³ΠΈ антивирусного ПО.

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСтСвыми путями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфикс \\ для UNC-ΠΏΡƒΡ‚Π΅ΠΉ вмСсто Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ дисков, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ дисков ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ сСрвисов.

МоТно Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ 1Π‘?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ² с диска ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ бСзопасности Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² (пСсочница). ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‡Π΅Ρ€Π΅Π· стандартный Π΄ΠΈΠ°Π»ΠΎΠ³, послС Ρ‡Π΅Π³ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π° сСрвСр.

Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ список Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π΄Π°Ρ‚Π΅?

Массив, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ НайтиЀайлы, Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ отсортирован. Для сортировки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£ΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ() ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Массив, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² Π² Π½Π΅Π³ΠΎ описаниС сортировки ΠΏΠΎ полю Π”Π°Ρ‚Π°Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Имя ΠΈ ПолноСИмя Ρ„Π°ΠΉΠ»Π°?

Бвойство Имя содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Ρ„Π°ΠΉΠ»Π° с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "report.txt"). Бвойство ПолноСИмя содСрТит Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "C:\Docs\report.txt").

ΠŸΠΎΡ‡Π΅ΠΌΡƒ НайтиЀайлы Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ пустой массив?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ нСскольким ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ пуст, Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π° маска ΠΈΠΌΠ΅Π½ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСгистр Π½Π° Linux), Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ Π½Π΅ сущСствуСт.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°?

Ѐункция поиска Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ. НСобходимо ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ маскС ΠΈΠΌΠ΅Π½ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свойство Π Π°Π·ΠΌΠ΅Ρ€ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, добавляя подходящиС Π² Π½ΠΎΠ²Ρ‹ΠΉ массив.