Java Eclipse 错误“未找到源。”

2024-04-02

我是编程世界的新手,我正在尝试编写一个简单的程序,从文件中读取并输出单个数字。我相信我在代码中设置了所有内容,我是否需要对 .txt 文件的位置执行任何特殊操作才能使程序读取该文件?

package pack;

import java.util.*;

import java.io.*;

public class Ch2_PrExercise17 {

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

        Scanner inFile = new Scanner(new FileReader("inData.txt"));
        int num1;
        num1 = inFile.nextInt();
        System.out.println(num1);
    }
}

我得到的异常如下;

Exception in thread "main" java.io.FileNotFoundException: inData.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at pack.Ch2_PrExercise17.main(Ch2_PrExercise17.java:8)

如果 Eclipse 确实说“未找到源代码”,那么它(此时)正在谈论某个东西的源代码。

如果您设法从 Eclipse 运行该类,那么 Eclipse 就能够编译它,因此它知道源代码在哪里。所以它一定是其他东西的源代码。我最好的猜测是它找不到标准 Java 类库的源代码,这可能意味着 Eclipse 运行在 JRE 安装而不是 JDK 安装上。

(如果我的理论是正确的,那么“未找到源”文本将嵌入到异常堆栈跟踪中......)

这也可能是一个构建问题,但我对此表示怀疑,因为如果该类没有构建,当您在 Eclipse 中查看源文件时,您会看到错误标记,并且当您尝试运行它时,Eclipse 会抱怨。如果源文件位于错误的目录中,Eclipse 也会抱怨。


问题的第二部分是让你的应用程序找到"inData.txt"文件。那应该很简单。当您尝试打开具有相对路径名的文件时,Java 库将尝试解析相对于应用程序的“当前目录”的路径名。默认情况下,当您从 Eclipse 运行应用程序时,这将是您启动 Eclipse 时 shell 所在的目录;例如

$ cd /home/josh/somedir
$ eclipse &

...默认当前目录应该是“/home/josh/somedir”。

如果默认当前目录不正确,您有多种选择,包括:

  • 在启动 Eclipse 之前将目录更改为正确的目录。
  • 使用 Eclipse 的“运行配置”面板选择应用程序的启动配置,并更改启动器的当前目录设置。
  • 将源代码中的相对路径名更改为文件的正确绝对路径名。

跟进

Exception in thread "main" java.io.FileNotFoundException: inData.txt (The system cannot find the file specified) 
  at java.io.FileInputStream.open(Native Method) 
  at java.io.FileInputStream.<init>(Unknown Source)
  at java.io.FileInputStream.<init>(Unknown Source) 
  at java.io.FileReader.<init>(Unknown Source) 
  at pack.Ch2_PrExercise17.main(Ch2_PrExercise17.java:8)

“未知来源”消息意味着 JVM(不是 Eclipse)无法找到生成完整堆栈跟踪所需的信息。您似乎正在使用删除了调试信息的“rt.jar”文件执行。您可以忽略这个问题,但要修复它,您需要查看正在使用的 JVM,以及为什么“rt.jar”没有调试信息。

真正的问题是FileNotFoundException例外,我对此的诊断(如上所述)成立。 “当前目录”并不是解析相对路径名所需的目录。请参阅上文了解可能的解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Eclipse 错误“未找到源。” 的相关文章

随机推荐

  • iPhone SQLite DB 和基于 Web 的 DB 同步和交互建议

    我正在开发我的第二个 iPhone 应用程序 并且正在寻找有关数据库处理的架构建议 这个想法是 1 信息数据库存储在服务器 LAMP 堆栈 上 信息通过 JSON 传递到设备 该部分已实施 用户可以 收藏 数据库中的某个项目 该项目将其存储
  • 使用Intent打开系统应用程序

    我正在尝试制作一个简单的应用程序 当用户从主屏幕或应用程序抽屉单击时 该应用程序会将用户发送到特定的 系统安装的 应用程序 系统设置 日历 浏览器等 例如 我目前尝试在启动应用程序时打开系统设置 就像设置快捷方式一样 可以按照我想要的方式实
  • RStudio 中的永久代码折叠

    我试图确保在保存文件时 在 RStudio 中崩溃的代码 通过 Alt L 在 Shiny 中保持在原位 目前 每次我保存文件时 折叠都会消失 有谁知道如何使折叠永久且独立于保存文件 供参考 我在 Windows 上使用 RStudio 0
  • 使用cmd获取当前用户路径变量而不使用系统路径

    当我使用标准用户 也是管理员 登录时 命令echo PATH 返回系统路径 用户路径 如何只获取用户的路径 例如 当我当前用户的路径是C ruby C java bin系统路径是 SystemRoot system32 SystemRoot
  • 如何使文本浮动在列表项空间的底部?

    如何使文本浮动在列表项空间的底部 我试图使 li 中的所有文本都位于 li 高度的底部 有没有更好的方法来实现这种外观 以及如何超链接 h1 标题 margin 0 padding 0 nav width 100 height 110px
  • 如何在 Internet Explorer 中使用 html 子元素获取 contenteditable div 中的插入符位置

    我正在使用一个 contenteditable div 它可以选择包含内联 html 元素 例如标签 在文本流中 在某些时候 我需要抓取 contenteditable div 的插入符位置 光标位置 插入符 光标 位于 html 子元素之
  • Angular - 错误:spawn cmd ENOENT

    您好 当我生成角度时遇到问题 哟角度 我都完成了 运行 Bower install 和 npm install 来安装所需的依赖项 如果失败 请尝试自己运行该命令 调用角度 路线 调用 Angular Controller C Users
  • 在每个时间间隔更改文本 - React

    我试图在反应的每个时间间隔更改文本 屏幕出现时自动开始 但问题是 给定的时间不被尊重 并且文本以随机时间间隔更改 这是我的代码的一部分 const names tony elias fadi const newName setnewName
  • 在 php 中将 emoji 字符转换为 Unicode 代码点数字

    我正在尝试使用 php 将表情符号转换为 unicode 更多信息 https unicode org emoji charts full emoji list html https unicode org emoji charts ful
  • symfony 2 twig 访问数组 javascript 索引

    是否可以从中获取对象twig数组知道索引是ajavascript多变的 我的控制器 public function showContactModalAction iduser profil em this gt getDoctrine gt
  • 如何在 Electron BrowserWindow 中查看 PDF?

    所以我有这个 Electron 应用程序 在一个 html 文件中 我链接了另一个脚本 该脚本为程序提供了一些实用功能 其中之一是 function openPDF filePath let pdfWindow new electron r
  • Logstash 的 Java 过滤器

    你知道 Logstash 有一个 Ruby 过滤器 它使我能够用 Ruby 编写代码 它通常包含在配置文件中 如下所示 filter ruby code gt 现在我有两个 Jar 文件 我想将它们包含在过滤器中 以便可以根据我在这些 Ja
  • c++0x 中用户定义文字的重载规则

    我对超载规则有点困惑 假设有以下文字运算符 unsigned long long operator xx unsigned long long cooked literal int 1 unsigned long long operator
  • stringbuilder 调用中的 Java 字符串连接

    据我所知 StringBuilder 在连接期间不在字符串池中创建临时字符串实例 从而有助于减少内存使用量 但是 如果我这样做会发生什么 StringBuilder sb new StringBuilder bu sb append b u
  • Meteor - 设置文档标题

    有没有办法改变
  • 如何自动测试基于浏览器的应用程序? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如果它是一个Windows程序 我会使用Auto it http www autoitscript com autoit3 index s
  • R data.table 在导出函数中中断

    我在让 data table 在 roxygen2 导出函数中工作时遇到问题 这是一个名为 foo R 位于我的包的 R 目录中 的文件中的一个简单的假函数 它使用 data table Data table test function e
  • jQuery 验证(至少一个字段有文本)

    我的这个页面有几个 TextAreas asp net mvc 我需要验证这些字段中至少有一个包含文本 我怎样才能用 jQuery 做到这一点 这是我拥有的 textAreas 的一个示例 假设您没有使用验证插件并且所有文本区域都有 Esp
  • 在 Prolog 中编辑 Eliza 聊天机器人

    我一直在努力尝试在 Prolog 中编辑 Eliza 聊天机器人 每次我尝试编辑某些内容时 都会出现新的错误 它是否受到任何形式的编辑保护 我使用 SWI prolog 编辑器进行编辑 问题是我试图在没有完全理解代码的情况下最小化代码 我正
  • Java Eclipse 错误“未找到源。”

    我是编程世界的新手 我正在尝试编写一个简单的程序 从文件中读取并输出单个数字 我相信我在代码中设置了所有内容 我是否需要对 txt 文件的位置执行任何特殊操作才能使程序读取该文件 package pack import java util