我有下面的代码,我想在csv上写一个对象列表,在这个csv中我定义了属性和项目。我希望将编写器转换为输入流,以便读取这些值并执行一些计算。我还想将此S3文件存储在像亚马逊s3这样的数据存储中。
如何将编写器转换为输入流。我看不到已定义的api。我可以像CSVReader阅读器=新CSVReader(csvWriter)那样读取文件吗?
public CSVWriter convertModelToObject(List attributes, final Class classType) throws IOException {
CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), com.opencsv.CSVParser.DEFAULT_SEPARATOR,
com.opencsv.CSVParser.DEFAULT_QUOTE_CHARACTER);
BeanToCsv bean = new BeanToCsv();
HeaderColumnNameMappingStrategy<T> mappingStrategy = new HeaderColumnNameMappingStrategy<>();
mappingStrategy.setType(classType);
bean.write(mappingStrategy, writer, attributes);
return writer;发布于 2016-09-16 09:59:48
考虑将您正在使用的FileWriter替换为PipedWriter,并使用您在创建CSVReader时将使用的PipedReader来创建它。You can find an example of the PipedReader Writer here。
发布于 2020-05-28 22:00:47
可以,停那儿吧。
解决方案是使用InputStreamReader读取文件,并将该流传递给缓冲读取器,然后逐行读取或按您所需的方式读取。
有关更多方法,可以参考以下内容:https://www.geeksforgeeks.org/different-ways-reading-text-file-java/
https://stackoverflow.com/questions/39520459
复制相似问题