当前位置: 首页 > 知识库问答 >
问题:

使用扫描仪允许我的程序读取文本文件中的每一行?

年凯康
2023-03-14

我有一个文本频率分析程序,我试图修改这个程序,这样它就能读取你指定的文本文件中的所有文本。每次我输入文件名时,它都会向我抛出一个错误,你知道我哪里出错了吗?

错误消息:

异常线程"main"java.io.FileNotFoundException:file.txt(没有这样的文件或目录)java.io.FileInputStream.open(本机方法)在java.io.FileInputStream。(FileInputStream.java:120)在java.util.扫描仪。(Scanner.java:636)在Charnock_John_4_. main(Charnock_John_4_. java: 11)-

代码:

import java.util.*;
import java.io.*;

    public class J_<countlettersfilereader> {

      public static void main(String[] args)throws Exception {
      // open the file
    Scanner console = new Scanner(System.in);
    System.out.print("What is the name of the text file? ");
    String fileName = console.nextLine();
    Scanner input = new Scanner(new File(fileName));

//

共有1个答案

麻桐
2023-03-14

如何处理FileNotFoundException

>

如果异常消息声称权限被拒绝,则必须首先检查文件的权限是否正确,其次检查文件当前是否正在被其他应用程序使用。

如果异常消息声称指定的文件是目录,则您必须更改文件名称或删除现有目录(如果应用程序未使用该目录)。

重要提示:

对于那些使用IDE来实现其Java应用程序的开发人员,必须从项目的src目录所在的级别开始指定每个文件的相对路径。

注意:您的问题是第一个选项。

我如何解决这个问题?

>

  • 我通常使用绝对路径,我不推荐,因为这只是米老鼠的工作。

    使用相对路径,因为您的程序将独立于路径。

  •  类似资料:
    • 问题内容: 我正在玩Scanner类,以进行学习,并且我使用它来读取非常大的文件(大约60.000行,大约不使用Reader类),并且在大约400行后停止读取。我是否必须在Scanner的构造函数中使用Bufferedreader还是问题?我想知道为什么会这样。谢谢。我的代码是输出所有行的常用代码。 问题答案: 此问题通常在64位计算机上或文件大小大于1-2 GB的文件中更常见,并且与堆空间无关。

    • 问题内容: 编辑 以便进一步阅读:问题是我的输入文件已损坏。 我不明白我在做什么错: 我正在使用此代码: 哪个工作正常。现在,由于某种原因,我想换一个扫描仪。我的代码变成: 这次,我们从不输入while,因为r.hasNextLine()始终返回“ false”。关于我在做什么错的任何想法吗? 我精确地说,没有其他更改,文件仍然相同。 编辑 :我还精确地我尝试了另一个文件,并得到相同的结果,这意味

    • 问题内容: 使用扫描程序对象从文本文件读取时,我希望它跳过文件的第一行。我将如何做到这一点? 问题答案: 只需在while循环之前使用即可。如JavaDoc中所述,这将跳过第一行。 还有关于您的命名的注释。Java语言具有广泛接受的约定。类名总是以大写字母开头,变量名总是以小写字母开头(常量除外,但现在不必担心)。在这里阅读更多。

    • 在我大学项目的一部分中,我必须得到一些行的文本,然后将其保存在字符串或字符串数组中。我的问题是,在scanner类中,使用方法只能得到一行输入。所以我无法得到其他行。请帮帮我。 }

    • 问题内容: 我正在尝试实现基本的词法分析器。目前,我在文件解析方面陷入困境。 这是我的栏位,称为“ p ++。ppp” 解析文件时,我得到:但是p ++。ppp是文件名! 同样,当我调试时,它读取文件名,然后退出。我想念什么? 问题答案: 您误解了的API 。从文档的构造函数: 构造一个新的Scanner,该扫描器生成从指定字符串扫描的值。 参数: 源 -一个字符串,扫描 这不是文件名-只是一个字

    • 我试图扫描一个文本文件,并将每一行放入arraylist中,当下一行是'*'时停止扫描,然而,我的arraylist每隔第二行存储一次,我不知道为什么。