1. PathāĻ•ā§āĻ˛āĻžāĻ¸

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻšāĻœāĨ¤ āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡āĨ¤

āĻœāĻžāĻ­āĻž āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° FileāĻŽāĻ¤ā§‹ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤āĨ¤ FileInputStreamāĻ¯āĻžāĻ‡āĻšā§‹āĻ•, FileāĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻāĻ–āĻ¨ āĻ…āĻŦāĻšā§‡āĻ˛āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻĄ, āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ, āĻŦāĻž āĻ•ā§āĻ˛āĻžāĻ¸ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋāĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻļā§āĻ°ā§ āĻĨā§‡āĻ•ā§‡āĻ‡, āĻ†āĻŽāĻ°āĻž PathāĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻļāĻŋāĻ–āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻŦāĨ¤ PathāĻŦāĻ°ā§āĻ— āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ File. āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĨ¤

PathāĻ•ā§āĻ˛āĻžāĻ¸

āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, PathāĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨āĻ¯āĻŧ - āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĨ¤ PathāĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° (āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ) āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻœāĻ¨ āĻŦāĻ‚āĻļāĻ§āĻ°ā§‡āĻ° āĻ˛ā§‡āĻ–āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĨ¤

āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻžāĻĨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻĒā§ƒāĻĨāĻŋāĻŦā§€āĻ¤ā§‡ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡āĻ‡ PathāĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯āĻĻāĻŋāĻ“ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻ•āĻžāĻœāĻŸāĻŋ āĻ¤āĻžāĻ° āĻŦāĻ‚āĻļāĻ§āĻ° āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ˜āĻŸā§‡: WindowsPath, UnixPath, ...

āĻāĻ•āĻŸāĻŋ PathāĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ Path(āĻ¯āĻž āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡ āĻŦāĻ‚āĻļāĻ§āĻ° āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻšāĻŦā§‡ WindowsPath), āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ‡ āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

Path name = Path.of(path);

nameāĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ Path, āĻāĻŦāĻ‚ pathāĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° (āĻŦāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻ¨āĻžāĻŽ āĻ¸āĻš āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° (āĻŦāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻĒāĻžāĻĨāĨ¤ āĻāĻŦāĻ‚ ofāĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ PathāĨ¤

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ of()āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĨ¤ WindowsPathāĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ UnixPathāĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ PathāĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž āĨ¤new Path()

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

āĻ•ā§‹āĻĄ āĻŦāĻŋāĻƒāĻĻā§āĻ°āĻƒ
Path file = Path.of("c:\\projects\\note.txt");
āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻžāĻĨ
Path directory = Path.of("c:\\projects\\");
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻĒāĻĨ

PathāĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ§ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° (āĻŦāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ āĨ¤ āĻšāĻ¯āĻŧāĻ¤ā§‹ āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨... āĻāĻ•āĻŸāĻŋ PathāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¯ā§āĻĒ-āĻ†āĻĒā§‡āĻ° āĻŽāĻ¤ā§‹ String: āĻāĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧ - āĻāĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻĨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻžāĻ‡.


Path2. āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° PathāĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ¨ā§€āĻšā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž
Path getParent()
āĻŽā§‚āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡
Path getFileName()
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ
Path getRoot()
āĻāĻ•āĻŸāĻŋ āĻĒāĻĨ āĻĨā§‡āĻ•ā§‡ āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ
boolean isAbsolute()
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĨāĻŸāĻŋ āĻĒāĻ°āĻŽ āĻ•āĻŋāĻ¨āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
Path toAbsolutePath()
āĻĒāĻĨāĻ•ā§‡ āĻĒāĻ°āĻŽ-āĻ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡
Path normalize()
āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¨āĻžāĻŽā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ˛ā§āĻĄāĻ•āĻžāĻ°ā§āĻĄ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
Path resolve(Path other)
āĻĒāĻ°āĻŽ āĻāĻŦāĻ‚ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻžāĻĨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤
Path relativize(Path other)
āĻĻā§āĻŸāĻŋ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ āĻĒāĻžāĻ¯āĻŧāĨ¤
boolean startsWith(Path other)
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĨāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻĨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
boolean endsWith(Path other)
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻžāĻĨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡
int getNameCount()
/āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻĨāĻ•ā§‡ āĻ…āĻ‚āĻļā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĨ¤
āĻ…āĻ‚āĻļā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
Path getName(int index)
/āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻĨāĻ•ā§‡ āĻ…āĻ‚āĻļā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĨ¤
āĻāĻ° āĻ¸ā§‚āĻšāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
Path subpath(int beginIndex, int endIndex)
/āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻœāĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻĨāĻ•ā§‡ āĻ…āĻ‚āĻļā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĨ¤
āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻžāĻŦāĻĒāĻžāĻĨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤
File toFile()
āĻāĻ•āĻŸāĻŋ PathāĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ FileāĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡
URI toUri()
PathāĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ•ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ URIāĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡

āĻ¨ā§€āĻšā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤


3. āĻāĻ•āĻŸāĻŋ āĻĒāĻĨāĻ•ā§‡ āĻ…āĻ‚āĻļā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ getParent()āĻ¸ā§‡āĻ‡ āĻĒāĻĨāĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĨā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‚āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§‡āĻˇā§‡ āĻāĻ‡ āĻĒāĻĨāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻŋāĻ¨āĻž:

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\projects\\note.txt";
Path path = Path.of(str).getParent();
"c:\\windows\\projects\\"
String str = "c:\\windows\\projects\\";
Path path = Path.of(str).getParent();
"c:\\windows\\"
String str = "c:\\";
Path path = Path.of(str).getParent();
null

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ getFileName()āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻĢāĻžāĻ‡āĻ˛ (āĻŦāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ) āĻ¨āĻžāĻŽ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ - āĻ¯āĻž āĻļā§‡āĻˇ āĻĄāĻŋāĻ˛āĻŋāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ†āĻ¸ā§‡:

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\projects\\note.txt";
Path path = Path.of(str).getFileName();
"note.txt"
String str = "c:\\windows\\projects\\";
Path path = Path.of(str).getFileName();
"projects"
String str = "c:\\";
Path path = Path.of(str).getFileName();
null

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ getRoot()āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻĨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ:

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\projects\\";
Path path = Path.of(str).getRoot();
"c:\\"


4. āĻĒāĻ°āĻŽ āĻāĻŦāĻ‚ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ

āĻĻā§āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒāĻĨ āĻ†āĻ›ā§‡: āĻĒāĻ°āĻŽ āĻāĻŦāĻ‚ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ•āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ c:\; āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ - /āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ

āĻāĻ•āĻŸāĻŋ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ āĻ•āĻŋāĻ›ā§ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ…āĻ°ā§āĻĨāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ¯ā§‡, āĻāĻŸāĻž āĻ°āĻžāĻ¸ā§āĻ¤āĻžāĻ° āĻļā§‡āĻˇ āĻŽāĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ°ā§ āĻ›āĻžāĻĄāĻŧāĻž. āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŽ āĻĒāĻĨā§‡ āĻāĻŦāĻ‚ āĻ¤āĻĻā§āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨

boolean isAbsolute()āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĒāĻĨāĻŸāĻŋ āĻĒāĻ°āĻŽ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\projects\\note.txt";
boolean abs = Path.of(str).isAbsolute();
true
String str = "src\\com\\codegym\\Main.java";
boolean abs = Path.of(str).isAbsolute();
false

Path toAbsolutePath()āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĨāĻ•ā§‡ āĻĒāĻ°āĻŽ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻāĻ¤ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨:

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\projects\\note.txt";
Path path = Path.of(str).toAbsolutePath();
"c:\\windows\\projects\\note.txt"
String str = "src\\com\\codegym\\Main.java";
Path path = Path.of(str).toAbsolutePath();
"d:\\work\\src\\com\\codegym\\Main.java"

Path normalize()āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻžāĻĨā§‡, āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¨āĻžāĻŽā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ ".." āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ¨ āĨ¤ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•ā§€āĻ•āĻ°āĻŖ āĻāĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻĻā§‚āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
String str = "c:\\windows\\..\\projects\\note.txt";
Path path = Path.of(str).normalize();
"c:\\projects\\note.txt"
String str = "src\\com\\codegym\\..\\Main.java";
Path path = Path.of(str).normalize();
"src\\com\\Main.java"

Path relativize(Path other)āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ relativize()āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ "āĻĒāĻžāĻĨā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ: āĻāĻ•āĻŸāĻŋ āĻĒāĻĨ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
Path path1 = Path.of("c:\\windows\\projects\\note.txt");
Path path2 = Path.of("c:\\windows\\");
Path result = path2.relativize(path1);
"projects\\note.txt"
Path path1 = Path.of("c:\\windows\\projects\\note.txt");
Path path2 = Path.of("c:\\windows\\");
Path result = path1.relativize(path2);
"..\\.."
Path path1 = Path.of("c:\\aaa\\bbb\\1.txt");
Path path2 = Path.of("d:\\zzz\\y.jpg");
Path result = path1.relativize(path2);
āĻ…āĻŦā§ˆāĻ§ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ:
āĻĻā§āĻŸāĻŋ āĻĒāĻĨā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ "āĻ°ā§āĻŸ" (āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ¸ā§āĻ•) āĻ†āĻ›ā§‡

Path resolve(Path other)āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ resolve()āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•āĻ°ā§‡ relativize(): āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŽ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ†āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ• āĻĒāĻĨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§‹āĻĄ āĻŽāĻžāĻ¨
Path path1 = Path.of("projects\\note.txt");
Path path2 = Path.of("c:\\windows\\");
Path result = path1.resolve(path2);
"c:\\windows"
Path path1 = Path.of("projects\\note.txt");
Path path2 = Path.of("c:\\windows\\");
Path result = path2.resolve(path1);
"c:\\windows\\projects\\note.txt"

toFile()āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° FileāĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻžāĻĨ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻšā§‡āĻ˛āĻŋāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ PathāĨ¤

toURI()āĻĒāĻĻā§āĻ§āĻ¤āĻŋ

āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻžāĻĨāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ URI- āĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻžāĻĨ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ:

āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻžāĻĨ āĻĢāĻžāĻ‡āĻ˛ā§‡ URI
c:\windows\projects\note.txt
file:///c:/windows/projects/note.txt