CSVWriter writer = new CSVWriter(new FileWriter("file.csv", true)); BufferedWriter bw = new BufferedWriter(writer); 报错 java: 不兼容的类型: au.com.bytecode.opencsv.CSVWriter无法转换为java.io.Writer
时间: 2024-03-01 10:54:32 浏览: 412
这个错误的原因是`CSVWriter`和`BufferedWriter`是不同类型的类,不能直接进行类型转换。解决这个问题的方法是,将`CSVWriter`对象传递给`BufferedWriter`的构造函数,以便将其包装成`BufferedWriter`对象。
修改代码如下:
```
CSVWriter writer = new CSVWriter(new FileWriter("file.csv", true));
BufferedWriter bw = new BufferedWriter((Writer) writer);
```
这样就可以将`CSVWriter`对象`writer`包装成`BufferedWriter`对象`bw`,并且不会出现类型转换错误。
相关问题
java: 不兼容的类型: au.com.bytecode.opencsv.CSVWriter无法转换为java.io.Writer 怎么解决
这个错误的原因是`CSVWriter`和`BufferedWriter`是不同类型的类,不能直接进行类型转换。解决这个问题的方法是,将`CSVWriter`对象传递给`BufferedWriter`的构造函数,以便将其包装成`BufferedWriter`对象。
修改代码如下:
```
CSVWriter writer = new CSVWriter(new FileWriter("file.csv", true));
BufferedWriter bw = new BufferedWriter(writer);
```
这样就可以将`CSVWriter`对象`writer`包装成`BufferedWriter`对象`bw`,并且不会出现类型转换错误。
java 1.8 Inconvertible types; cannot cast 'au.com.bytecode.opencsv.CSVWriter' to 'java.io.Writer'
这个错误的原因是不能将`CSVWriter`对象直接转换成`Writer`对象。您可以使用`OutputStreamWriter`类来将`CSVWriter`对象转换成`Writer`对象。
修改代码如下:
```
CSVWriter writer = new CSVWriter(new FileWriter("file.csv", true));
Writer out = new OutputStreamWriter(new FileOutputStream("file.csv"), StandardCharsets.UTF_8);
BufferedWriter bw = new BufferedWriter(out);
```
这样就可以将`CSVWriter`对象`writer`转换成`Writer`对象`out`,并将其包装成`BufferedWriter`对象`bw`,并且不会出现类型转换错误。
阅读全文