can';不从文件中读取,Java
当我尝试运行该程序时,它总是抛出一个FileNotFoundException,尽管该文件与项目位于同一文件夹中。我用canRead()方法测试了它,结果返回false,但我不明白为什么它不能从文件中读取can';不从文件中读取,Java,java,filenotfoundexception,Java,Filenotfoundexception,当我尝试运行该程序时,它总是抛出一个FileNotFoundException,尽管该文件与项目位于同一文件夹中。我用canRead()方法测试了它,结果返回false,但我不明白为什么它不能从文件中读取 package sumOfFloats; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class SumOfFloats { public sta
package sumOfFloats;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class SumOfFloats {
public static float sumFloats() throws FileNotFoundException{
File file = new File("floatNumbers.txt");
float[] array = new float[100];
int i = 0 ;
float floatSum = 0.0f;
Scanner fileReader = new Scanner(file);
while(fileReader.hasNextLine()){
array[i] = fileReader.nextFloat();
}
for(int j = 0; j < array.length; j++){
floatSum += array[i];
i++;
}
return floatSum;
}
public static void main(String[] args) throws FileNotFoundException {
System.out.println(sumFloats());
}
}
package-sumts;
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.Scanner;
公共类污水坑{
public static float sumFloats()引发FileNotFoundException{
File File=新文件(“floatNumbers.txt”);
float[]数组=新的float[100];
int i=0;
浮动总和=0.0f;
Scanner fileReader=新扫描仪(文件);
while(fileReader.hasNextLine()){
数组[i]=fileReader.nextFloat();
}
对于(int j=0;j
此问题可能由以下原因引起:
权限限制
检查您是否以有效权限执行程序(如果您在Windows中,请尝试以管理员身份执行,如果您在Unix中,请尝试以root用户身份执行)
相对路径问题
可能是您没有设置文件的有效路径,尝试使用绝对路径进行测试,以确保您可以从中读取。由于包名为
sumdowlets
,我假设您在sumdowlets
旁边有一个文件夹,您的类文件位于该文件夹中,只需将floatNumbers.txt
放在该文件夹中,并尝试重新编译它,然后执行类,因为您的假设(文件位于正确的位置)无效。文件floatNumbers.txt
位于哪里?它是否在您的工作目录中?您是否尝试过将.java文件保存在桌面上,通过命令行进行编译,在桌面上复制并粘贴.txt文件,然后运行?使用System.out.println(System.getProperty(“user.dir”))验证当前文件夹代码>已经这样做了,正如我所说,该文件位于正确的目录中,我使用getProperty对其进行了测试,尝试给出绝对路径,但仍然不起作用尝试像这样读取InputStream=getClass().getResourceAsStream(“floatNumbers.txt”);Scanner fileReader=新扫描仪(流);