如何让我的Java程序读取我想要的文本文件?

时间:2014-09-22 17:40:29

标签: java eclipse

我是Java和编码的新手,我只是无法理解我在这里搞砸了。我正在使用Eclipse,而我试图让它从一个简单的文本文件中读取,其中包含两个数字" 54 0.0"这样写的。我有文本文件" ClimateData"保存在src文件夹中的这个java文件旁边,它仍然无法运行该程序。我不知道自己做错了什么

import java.util.Scanner;
import java.io.*;

public class ClimateSummary
{
public static void main (String [] args) throws FileNotFoundException
{

    Scanner textFile = new Scanner (new File("ClimateData"));

    int inputTemperature = textFile.nextInt();
    double inputPercipitation = textFile.nextDouble();

    if (inputTemperature > 90)  {
        System.out.print("It's miserably hot out man, ");

    }   else if (inputTemperature < 90 && inputTemperature > 80)    {
        System.out.print("It's kind of hot, ");

    }   else if (inputTemperature < 80 && inputTemperature > 60)    {
        System.out.print("It's pretty nice out, ");

    }   else if (inputTemperature < 60 && inputTemperature > 32)    {
        System.out.print("It's a bit cold out, ");

    }   else if (inputTemperature < 32) {
        System.out.print("It's miserably c-c-co-cold bro, ");
    }

    if (inputPercipitation > .1)    {
        System.out.print("and it's a little rainy.");

    }   else if (inputPercipitation <= .1)  {
        System.out.print("it's not rainy.");
    }

    textFile.close();

 }
}

我收到此错误:

Exception in thread "main" java.io.FileNotFoundException: ClimateData (The system  cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at ClimateSummary.main(ClimateSummary.java:11)

5 个答案:

答案 0 :(得分:1)

尝试此操作以查看Java在哪里查找您的文件:

System.out.println(new File("ClimateData").getAbsolutePath());

然后将文件移动到Java正在查找的位置。

或者,您可以使用getResource()方法查找与您的类文件相关的文件。有关该方法的更多信息,请访问:getResourceAsStream() vs FileInputStream

答案 1 :(得分:1)

您收到文件未找到错误,因为该文件位于您必须放入的src文件夹中&#34; src /&#34;在路径前面。此外,您必须将文件扩展名放在其后面,因此它看起来像这样&#34; src / ClimateData.txt&#34;。那应该解决它。

答案 2 :(得分:0)

将其移出src文件夹并移至项目根目录,因为这是任何启动的默认当前目标。

答案 3 :(得分:0)

你必须检查你的路径,并记住你在java中,如果你在Windows中,你写这样的路径:

C:\\my folder\\mydocument.myextension

答案 4 :(得分:0)

扫描仪textFile =新扫描仪(新文件(&#34; ClimateData&#34;));

您的行的更正是: 提供指定源文件夹的文件路径。

扫描仪textFile =新扫描仪(新文件(&#34; src / ClimateData&#34;));