Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NoClassDefFoundError:com.opencsv.CSVWriter_Java_Android_Csv_Encryption - Fatal编程技术网

Java NoClassDefFoundError:com.opencsv.CSVWriter

Java NoClassDefFoundError:com.opencsv.CSVWriter,java,android,csv,encryption,Java,Android,Csv,Encryption,我正在尝试使用opencsv库获取加密格式的数据。但在CSV writer上写作时,我得到了“NoClassDefFoundError”。我已经看到了许多与相同错误相关的帖子,并尝试了几乎所有的事情,但仍然无法纠正问题。下面的链接有相同的错误 CSVHelper代码: public String stringify(List<? extends SerializeableToCSV> objects) throws IllegalArgumentExceptio

我正在尝试使用opencsv库获取加密格式的数据。但在CSV writer上写作时,我得到了“NoClassDefFoundError”。我已经看到了许多与相同错误相关的帖子,并尝试了几乎所有的事情,但仍然无法纠正问题。下面的链接有相同的错误

CSVHelper代码:

public String stringify(List<? extends SerializeableToCSV> objects) 
        throws IllegalArgumentException {

    if (objects == null || objects.isEmpty()) 
        throw new IllegalArgumentException("List of objectes passed is either null or empty");

    List<String[]> strList = new ArrayList<String[]>();

    // add header record
    strList.add(objects.get(0).getColumnHeaders());

    Iterator<? extends SerializeableToCSV> it = objects.iterator();
    while (it.hasNext()) {
        SerializeableToCSV element = it.next();
        strList.add(element.getValueList());
    }

    StringWriter writer = new StringWriter();
    CSVWriter csvWriter = new CSVWriter(writer, CSVHelper.VALUE_SEPERATOR, CSVWriter.NO_QUOTE_CHARACTER);
    csvWriter.writeAll(strList);

    try {
        csvWriter.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return writer.toString();
}
04-14 16:03:09.260: E/AndroidRuntime(13047): java.lang.NoClassDefFoundError: com.opencsv.CSVWriter
04-14 16:03:09.260: E/AndroidRuntime(13047):    at com.stellapps.encryption.CSVHelper.stringify(CSVHelper.java:62)
04-14 16:03:09.260: E/AndroidRuntime(13047):    at com.stellapps.encryption.Csv.createCSVString(Csv.java:62)
04-14 16:03:09.260: E/AndroidRuntime(13047):    at com.stellapps.encryption.Csv.generateCsvEncryptedFormat(Csv.java:111)
如果需要任何其他细节,请告诉我。任何帮助都将不胜感激

我还想补充的一点是,在获取上述异常之前,请先执行以下错误


找不到从方法com.example.encryption.CSVHelper.parse引用的类“com.opencsv.bean.HeaderColumnNameTranslateMappingStrategy”

它给出错误的类可能存在于类路径中,但您需要的jar可能具有某些依赖项

请查找下面的链接以检查依赖项并添加依赖项JAR:

由于完全相同的错误,我一直在努力用Maven和eclipse设置OpenCSV。最终,我放弃了OpenCSV,使用了ApacheCommons提供的、更容易使用的OpenCSV

使用依赖项更新POM,以下操作将立即生效:

import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;

import java.io.FileReader;
import java.io.Reader;

public class importFile {
    public static void main(String[] args) {
        Reader in = new FileReader( csvFileInput );
        CSVParser parser = new CSVParser( in, CSVFormat.DEFAULT );
        List<CSVRecord> list = parser.getRecords();

        for( CSVRecord row : list )
            for( String entry : row )
                System.out.println( entry );
    }
}
import org.apache.commons.csv.CSVFormat;
导入org.apache.commons.csv.CSVParser;
导入org.apache.commons.csv.CSVRecord;
导入java.io.FileReader;
导入java.io.Reader;
公共类导入文件{
公共静态void main(字符串[]args){
Reader in=新文件读取器(csvFileInput);
CSVParser parser=新的CSVParser(in,CSVFormat.DEFAULT);
List=parser.getRecords();
用于(CSVRecord行:列表)
for(字符串条目:行)
系统输出打印项次(输入);
}
}