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

在eclipse中使用txt文件

杭永安
2023-03-14

我不熟悉eclipse和Java。我有一个H.W作业,我需要写一个读a的类。txt文件。

在模拟之前,我在我的C目录中创建了一个名为“in.txt”的文件。在运行配置中,我写了“C:\In.txt”作为参数。

我得到了这个错误:

JAVA伊奥。FileNotFoundException:C:\in。txt(系统无法在java上找到指定的文件)
。伊奥。文件输入流。在java上打开(本机方法)
。伊奥。文件输入流。(来源不明)
在java。伊奥。文件输入流。(来源不明)
在java。伊奥。文件阅读器。(来源不明)
在弗莱希。main(Flesch.java:25)

我也尝试过写"C:\in.txt",得到了同样的错误。

这是我的代码:

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.StringTokenizer;

public class Flesch {

    public static void main(String[] args)
    {
        if (args.length != 1)
        {
            System.out.print("error");
            return;
        }       
        BufferedReader mybuffer = null;
        try
        {
            String my_line;
            int words_num=0;
            int senteses=0;
            int verbs=0;
            int word_verbs = 0;
            String word_delimtiters = " ()*&^%$#@!_-=[]{}?;:',.";
            mybuffer = new BufferedReader(new FileReader(args[0]));

            while((my_line = mybuffer.readLine())!= null)//reading the liens
            {
                //counting the number of words
                StringTokenizer token = new StringTokenizer(my_line,word_delimtiters);
                words_num += token.countTokens();
                //counting the verbs
                while (token.hasMoreElements())
                {
                    String word = token.nextToken();
                    word = word.toLowerCase();
                    word_verbs = 0;
                    boolean last_char_is_verb = false;
                    for (int k=0;k < word.length(); k++ )
                    {
                        switch (word.charAt(k)) 
                        {
                            case 'a': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            case 'e': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            case 'i': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            case 'o': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            case 'u': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            case 'y': if (!last_char_is_verb) word_verbs++; last_char_is_verb = true; break;
                            default: last_char_is_verb = false ;
                        }
                    }
                    if (word_verbs == 0)
                        word_verbs = 1;
                    verbs+= word_verbs;
                }

                //counting the number of sentecses
                for(int i=0;i<my_line.length(); i++)
                {
                    if(my_line.charAt(i) == '.' || my_line.charAt(i) == ',' || my_line.charAt(i) == ';' || my_line.charAt(i) == '?' || my_line.charAt(i) == '!')
                    {
                        senteses++;
                    }
                }
            }
            double Flesch = 206.835 - 84.6*(verbs/words_num) -1015*(words_num/senteses);
            System.out.print(Flesch);
            System.in.read();
        }
        catch(IOException e)
        {
            e.printStackTrace();        
        }
        finally
        {
            try
            {
                if (mybuffer != null)
                    mybuffer.close();
            }
            catch(IOException ex)
            {
                ex.printStackTrace();   
            }
        }

    }   


}

我在网上搜索了这个错误,没有找到有用的东西。我觉得我好像错过了一些基本的东西

共有3个答案

子车芷阳
2023-03-14

我试过你的代码,用正反斜杠都很管用。也许这与该文件位置的权限有关。尝试将其移动到用户空间中的目录。

我在eclipse中设置了programs参数,所以如果您以前是从命令行执行此操作的话,不妨尝试一下。虽然从错误消息的外观来看,文件名是从命令行OK读取的。

还有你有个潜在的窃听器

double-Flesch=206.835-84.6*(动词/单词数量)-1015*(单词数量/句子数量)

如果words_num句点为零,则可以除以零。您应该检查此条件并适当处理。

巢权
2023-03-14

有时一个斜杠是不够的,所以试着提供“c:\\in.txt”,我认为它会很好地工作。

蔺德曜
2023-03-14

路径中的反斜杠可能不是个好主意。用“/”试试看。

参考:文件路径Windows格式到java格式

否则,错误可能与扩展有关。请参考以下内容:java。伊奥。FileNotFoundException,找不到文件

 类似资料:
  • 我有个问题, 我希望这个相同的问题之前不要被回答(我一直在找,但我没有找到任何回应),如果是重复的问题,我会提前道歉。

  • 我的任务是从txt文件中获取输入,并将其读入结构数组的一部分,然后对其进行操作,但我在读取该文件时遇到了问题。 我的结构如下: 在我的主要观点中:我定义最大值为100 下面是我们要读取的txt文件: 所以我在fscanf的准确性方面遇到了一些问题。要检查worker包含的内容,我使用了printf(“%s”,worker[0]。first)和printf(“%c”,worker[0]。initia

  • 我正试图编写一个程序,读取网络中相互交互的节点列表。它以以下格式写入文本文件: 这表示节点1与节点2和节点3交互,节点2仅与节点3交互,等等。 该程序将能够读取该文件,并将删除任何重复的交互,并且如果我输入节点的名称,将能够向我返回节点与其他节点的交互次数。然而,我对Java非常陌生,我首先尝试让它读入文件,尽管我的代码目前没有读入文件。以下是我迄今为止的代码: 任何关于如何解决此问题的帮助都将不

  • 问题内容: 我正在研究一个Java程序,该程序逐行读取文本文件,每个文本文件都有一个数字,将每个数字都将其扔到数组中,然后尝试使用插入排序对数组进行排序。我需要有关程序读取文本文件的帮助。 我收到以下错误消息: 我的“ src”,“ bin”和主项目文件夹中有.txt文件的副本,但仍找不到该文件。我正在使用Eclipse。 问题答案: 你必须把文件扩展名放在这里

  • 问题内容: 如何从JAR Java编译项目中写入.txt文件? 当我运行项目时,它不会给出错误,但不会将其写入JAR文件中。 我使用以下方法制作JAR文件: 码: 问题答案: 当您尝试在jar中写入文本文件时,java无法识别文本文件的绝对路径。 它会像 这不是绝对路径,因此无法写入文件。尝试从外部写入文件。

  • 问题内容: 我正在开发一个小项目,因此我想使用国际化。问题是,当我尝试使用带有西里尔文符号的.properties文件时,文本显示为垃圾。当我对字符串进行硬编码时,它会很好地显示。 这是我的代码: 在我的.properties文件中: 退出=Изход 而且我得到垃圾。当我尝试 正确显示。据我所知,UTF-8是用于文件的编码。 有任何想法吗? 问题答案: AnyEdit是一个eclipse插件,可