FileInputStream.java上的错误

时间:2013-10-12 13:01:14

标签: java

我编写了以下代码并介绍了这些错误。我的代码是:

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/*import com.csvreader.CsvReader;*/ 

public class CsvReaderExample {

    public static void main(String[] args) {

        try{
            String pathName = System.getProperty("user.dir") +  
                    (CsvReaderExample.class.getPackage() == null ? "" : "\\" + 
                    CsvReaderExample.class.getPackage().getName().replace('.', '\\'));
            FileReader klausuar = new 
                    FileReader("klausurphase_propa_anonym.csv");
            CSVReader reader = new CSVReader("klausuar");
            String [] nextLine;

            while ((nextLine = reader.readNext()) != null) {
                // nextLine[] is an array of values from the line
                System.out.println(nextLine[0] + nextLine[1] + nextLine[2] + 
                     nextLine[3] + nextLine[4]);
            }
        klausuar.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

}
}

堆栈跟踪

    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:97)
    at java.io.FileReader.<init>(FileReader.java:58)
    at CsvReaderExample.main(CsvReaderExample.java:12)

任何人都可以帮助我吗?提前谢谢。

Khitam

1 个答案:

答案 0 :(得分:0)

虽然这是一种模糊的猜测,但由于你没有发布实际的例外,我有信心发布这个答案。也许有帮助。

您定义了一个变量pathName,但从不使用它,所以我猜您创建FileReader的行实际上是这样的:

FileReader klausuar = new FileReader(pathName + "klausurphase_propa_anonym.csv");

此外,由于文件似乎位于类路径中,而不是尝试从包构建绝对路径,因此您应该使用getResourcegetResourceAsStream

请注意,还有第二个错误:在创建CSVReader时,您将klausuar变量的名称作为字符串传递,而不是变量本身。相反,这应该是:

CSVReader reader = new CSVReader(klausuar);