class CsvProcessor implements FileProcessor {

    @Override
    public <T> List<T> exportBeans(Class<T> clazz, String filePath) throws IOException {
        List<FieldDesc> list = processeCache.getFieldDescs(clazz);
        Assert.assertTrue(CollectionUtil.isNotEmpty(list), "FieldDesc is not empty");

        List<String> lines = ReaderUtil.readLinesAndClose(filePath, Charset.forName(GBK));
        List<String> titles = processeCache.getTitles(clazz);

        if (CollectionUtil.isEmpty(titles)) {
            return linesToList(clazz, list, lines);
        }
        // FIXME 此时应安全
        lines.remove(0);
        return linesToList(clazz, list, lines);
    }

}