将CSVwriter转换为inputstream

将CSVwriter转换为inputstream,csv,amazon-s3,opencsv,Csv,Amazon S3,Opencsv,我有下面的代码,我想在csv上写一个对象列表,在这里我定义了属性和项目。我想将writer转换成一个输入流,以便读取值并执行一些计算。我还想将这个s3文件存储在类似AmazonS3的数据存储中 如何将编写器转换为inputstream。我没有看到定义的api。我可以像CSVReader reader=new CSVReadercsvWriter那样读取文件吗 public CSVWriter convertModelToObject(List attributes, final Class c

我有下面的代码,我想在csv上写一个对象列表,在这里我定义了属性和项目。我想将writer转换成一个输入流,以便读取值并执行一些计算。我还想将这个s3文件存储在类似AmazonS3的数据存储中

如何将编写器转换为inputstream。我没有看到定义的api。我可以像CSVReader reader=new CSVReadercsvWriter那样读取文件吗

 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;

考虑用PipedWriter替换您正在使用的FileWriter,用您在创建CSVReader时使用的PipedReader创建它

是的,你可以

解决方案是使用InputStreamReader读取文件,并将该流传递给缓冲读取器,然后逐行或根据需要读取


有关更多方法,请参阅此链接:

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接以供参考。如果链接页面发生更改,则仅链接的答案可能无效-