簡體   English   中英

為什么Java找不到與該類保存在同一文件夾中的CSV文件? 使用duke.edu FileResource

[英]Why can't Java find a CSV file saved in the same folder as the class? Using duke.edu FileResource

我正在嘗試讓Java打開一個CSV文件(保存在與Java項目相同的文件夾中)並解析其內容。 我已經在我的代碼中包含了文件路徑,但是當我運行該程序時,它說它無法訪問該文件。 FileResource對象來自dukelearntoprogram.com

我嘗試過不同版本的文件路徑,其中包含路徑中的更多步驟。 我嘗試使用此參數為空運行程序,在這種情況下,FileResource打開一個文件導航窗口。 當在這個窗口中手動選擇指定的文件時,一切都按預期進行,但我無法從文件路徑的String中自動打開它。

public void testHottestInDay () {
        FileResource fr = new FileResource("ParsingCSVdata/weather_data/2015/weather-2015-01-01.csv");  
        CSVRecord largest = hottestHourInFile(fr.getCSVParser());
        System.out.println("Hottest temperature was " + largest.get("TemperatureF") + " at " + largest.get("TimeEST"));

當我嘗試使用上面指定的文件路徑運行程序時,我收到以下錯誤消息:edu.duke.ResourceException:FileResource:無法訪問edu.duke.FileResource.initRead中的ParsingCSVdata / weather_data / 2015 / weather-2015-01-01 (FileResource.java:370)位於CSVMax.testHottestInDay(CSVMax.java:31)的edu.duke.FileResource。(FileResource.java:95)。

我最終通過反復試驗得出解決方案是指定文件路徑的LESS。 由於java項目與數據位於同一文件中,即“ParsingCSVdata”,因此需要將此步驟排除在文件路徑之外。 當我運行程序時,上面的第二行替換為:FileResource fr = new FileResource(“weather_data / 2015 / weather-2015-01-01.csv”); 我得到了預期的結果。 我仍然對我所學到的東西感到驚訝,為什么給出太多關於文件所在位置的背景信息是一個問題?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM