public static List<String> readLines(Reader input) throws IOException {
        BufferedReader reader = toBufferedReader(input);
        List<String> list = new ArrayList<>();
        while (true) {
            String line = reader.readLine();
            if (null != line) {
                if (StringUtil.isNotEmpty(line)) {
                    list.add(line.trim());
                }
            } else {
                break;
            }
        }
        return list;
    }
@Test
    public void testReadLines() throws IOException {
        File tempFile = new File(tempDir.toFile(), "testReadLines.txt");
        try (
                PrintWriter writer = new PrintWriter(tempFile)) {
            writer.println("test string 1");
            writer.println("test string 2");
            writer.println("test string 3");
        }
        FileReader fileReader = new FileReader(tempFile);
        List<String> lines = IoUtil.readLines(fileReader);
        fileReader.close();
        Assert.assertEquals(3, lines.size());
        Assert.assertEquals("test string 1", lines.get(0));
        Assert.assertEquals("test string 2", lines.get(1));
        Assert.assertEquals("test string 3", lines.get(2));
    }