我是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)
答案 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;));