public static Properties readPropertiesFile(String path) throws IOException {
        Properties props = new Properties();
        try (InputStream propStream = Files.newInputStream(Paths.get(path))) {
            props.load(propStream);
        }
        return props;
    }
@Test
    public void testReadPropertiesFile() throws IOException {
        File tempFile = TestUtils.tempFile();
        try {
            String testContent = "a=1\nb=2\n#a comment\n\nc=3\nd=";
            Files.write(tempFile.toPath(), testContent.getBytes());
            Properties props = PropertiesUtils.readPropertiesFile(tempFile.getAbsolutePath());
            assertEquals(4, props.size());
            assertEquals("1", props.get("a"));
            assertEquals("2", props.get("b"));
            assertEquals("3", props.get("c"));
            assertEquals("", props.get("d"));
        } finally {
            Files.deleteIfExists(tempFile.toPath());
        }
    }