sách gpt4 ăn đã đi

Java cho biết FileNotFoundException nhưng tệp vẫn tồn tại

In lại Tác giả: IT Lão Cao 更新时间:2023-10-28 21:01:47 29 4
mua khóa gpt4 giày nike

我有一个 CS 课的作业,它说要读取一个包含多个测试分数的文件,并要求我对它们求和并取平均值。虽然求和和平均很容易,但我在读取文件时遇到了问题。老师说要用这个语法

Scanner scores = new Scanner(new File("scores.dat"));

但是,这会引发 FileNotFoundException,但我一遍又一遍地检查该文件是否存在于当前文件夹中,之后,我认为它必须与权限。我更改了每个人的读写权限,但它仍然不起作用,它仍然不断抛出错误。有谁知道为什么会发生这种情况?

编辑:它实际上指向一个目录,但是,我已经解决了这个问题。现在 file.exists() 返回 ĐÚNG VẬY,但是当我尝试将其放入 Scanner 时,它会抛出 FileNotFoundException

这是我所有的代码

nhập java.util.Scanner;
import java.io.*;
public class readInt{
public static void main(String args[]){
File file = new File("lines.txt");
System.out.println(file.exists());
Scanner scan = new Scanner(file);
}
}

câu trả lời hay nhất

在许多情况下,可能会在运行时抛出 FileNotFoundException

  1. 指定的文件不存在。这可能有多种原因,包括:

    • 路径名完全错误
    • 路径名看起来正确但实际上是错误的,因为它包含您没有注意到的非打印字符(或同形字)
    • 路径名是相对的,相对于正在运行的应用程序的实际当前目录不能正确解析。这通常是因为应用程序的当前目录不是您所期望或假设的。
    • 文件路径损坏;例如路径的目录名称不正确,路径上的符号链接(symbolic link)损坏,或者路径组件之一存在权限问题。
  2. 命名文件实际上是一个目录。

  3. 由于某种原因,无法打开指定文件进行读取。

好消息是,问题将不可避免地是上述问题之一。这只是解决哪个问题。以下是您可以尝试的一些方法:

  • gọi file.exists() 将告诉您是否存在任何具有给定名称/路径名的文件系统对象。

  • gọi file.isDirectory()会测试是否是目录。

  • gọi file.canRead() 会测试它是否是可读文件。

  • 这一行会告诉你当前目录是什么:

      System.out.println(new File(".").getAbsolutePath());
  • 此行将打印出路径名,以便更容易发现意外的前导或尾随空格等内容:

      System.out.println("The path is '" + path + "'");

    在输出中寻找意外的空格、换行符等。


原来你的示例代码有编译错误。

我运行了您的代码,没有处理来自 Netbeans 的投诉,只是得到以下异常消息:

Exception in thread "main" java.lang.RuntimeException: Uncompilablesource code - unreported exception java.io.FileNotFoundException; mustbe caught or declared to be thrown

如果您将代码更改为以下内容,它将解决那个问题。

public static void main(String[] args) throws FileNotFoundException {    
File file = new File("scores.dat");
System.out.println(file.exists());
Scanner scan = new Scanner(file);
}

minh họa:Scanner(File) 构造函数被声明为抛出FileNotFoundException 异常。 (它发生在扫描仪无法打开文件的情况。)现在 FileNotFoundException 是一个已检查异常。这意味着可能抛出异常的方法phải要么捕获异常,要么在ném子句中声明它。上述修复采用后一种方法。

关于Java 说 FileNotFoundException 但文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307622/

29 4 0
Cựu chiến binh CNTT
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress