我不熟悉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();
}
}
}
}
我在网上搜索了这个错误,没有找到有用的东西。我觉得我好像错过了一些基本的东西
我试过你的代码,用正反斜杠都很管用。也许这与该文件位置的权限有关。尝试将其移动到用户空间中的目录。
我在eclipse中设置了programs参数,所以如果您以前是从命令行执行此操作的话,不妨尝试一下。虽然从错误消息的外观来看,文件名是从命令行OK读取的。
还有你有个潜在的窃听器
double-Flesch=206.835-84.6*(动词/单词数量)-1015*(单词数量/句子数量)
如果
words_num
或句点
为零,则可以除以零。您应该检查此条件并适当处理。
有时一个斜杠是不够的,所以试着提供“c:\\in.txt”,我认为它会很好地工作。
路径中的反斜杠可能不是个好主意。用“/”试试看。
参考:文件路径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插件,可