netbeans Java:此文件中不会读取任何内容
在我开始之前,我想说我今天花了4个小时,昨天花了6个小时,在那之前花了3个小时研究这个问题。我已经阅读了我能找到的每一篇帖子,严格遵守了每一条指示,重新启动了我的项目,重新安装了我的IDE(Netbeans),甚至重新安装了我的操作系统,但我还没有找到一条有用的建议,所以我想我需要寻求帮助
是的,我已将文件放在正确的位置 ... 事实上,我把文件放在了每个地方。在我的项目中的每个文件夹中都有一份副本,在整个项目文件夹中也有一份副本,在我的文档中也有一份副本。我已经多次检查、更改和默认根目录。请不要告诉我只使用异常处理程序。程序读入的文件保证存在并包含某些内容
所以我的问题是: 我试图输入和读取一个文件,但是,结果总是找不到该文件。下面是我的代码示例(实际上是这个atm):
package project2;
import java.io.FileReader;
import java.io.*;
import java.util.Scanner;
public class Project2 {
public static void main(String[] args) {
FileReader inputFile = new FileReader(args[0]);
}
}
以下是我得到的两个错误(我也得到Filenotfound错误,但我认为我不需要添加这些错误):
Exception in thread "main" java.lang.RuntimeException: Uncompilable source
code - unreported exception java.io.FileNotFoundException; must be caught or
declared to be thrown
at project2.Project2.main(Project2.java:14)
C:\Users\jarre\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53:
Java returned: 1
BUILD FAILED (total time: 1 second)
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at project2.Project2.main(Project2.java:24)
C:\Users\jarre\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53:
Java returned: 1
BUILD FAILED (total time: 0 seconds)
就这样。文件名来自参数,我尝试了名称的所有可能变化。我已经尝试在参数之外命名文件,只命名为文件名本身,并使用显式文件路径
使用扫描仪不允许我读取任何信息。FileReader甚至不会运行
文本文件没有特殊的格式或字符,我使用了我提供的一个和我手动键入的多个,以防我收到的文本文件出现问题。我还确保“.txt”永远不会被读取或使用两次(无论如何,我都会保留扩展名)。 我已经检查了所有文件和Netbeans程序本身的属性和权限。我还确保文本文件包含在项目构建中
我现在不使用任何额外的代码,因为我不能做任何事情,直到我确定我可以读入一个文件,然后输出一个文件。我还知道文本文件没有损坏,因为我可以用Python很好地读取它们,但是,我必须使用Java和Netbeans
这对我来说是一个新问题,我总是能够很好地读取文件,而且我已经用尽了我的选择。如果有人有任何想法,我真的需要一些帮助
# 1 楼答案
抛出第一个异常(
java.lang.RuntimeException: Uncompilable source code
),因为您向我们展示的代码不是有效的java源代码new FileReader(args[0])
被声明为抛出FileNotFoundException
,根据java语言的规则,您要么捕获此异常,要么将主方法声明为抛出此异常解决此问题的一种方法是编写如下主方法:
似乎您已经解决了这个问题,因为如果您试图读取超过文件末尾的内容,
java.util.NoSuchElementException: No line found
方法会引发第二个异常(Scanner.nextLine()
)由于您没有使用
Scanner
类显示任何代码,因此很难判断在这种情况下问题出在哪里不要那样做。您正在创建一个难以清理的文件。如果您想知道您的程序正在读取哪个文件,那么添加以下简单行将告诉您确切的路径和文件名:
您是否曾经尝试过这样一个简单、最少的示例:
它应该打印出文件名和完整路径,然后逐行打印文件内容
# 2 楼答案
这读取一个文件没有问题。我假设您正在运行JDK 8
以下是我使用的输入文件:
以下是我得到的输出:
# 3 楼答案
我不认为Java会把你搞得一团糟,一个找不到的文件就是一个找不到的文件,请在本期中通过你正在处理的文件和目录的屏幕来详细说明
我想让你考虑一下下面的内容:我希望这有助于代码与您在一起