使用TextIO读取外部文件

时间:2014-09-20 23:17:08

标签: java filereader

我不明白如何使用TextIO的readFile(String Filename) 有人可以解释我如何阅读外部文件?

public static void readFile(String fileName) {
  if (fileName == null) // Go back to reading standard input
     readStandardInput();
  else {
     BufferedReader newin;
     try {
        newin = new BufferedReader( new FileReader(fileName) );
     }
     catch (Exception e) {
        throw new IllegalArgumentException("Can't open file \"" + fileName + "\" for input.\n"
                       + "(Error :" + e + ")");
     }
     if (! readingStandardInput) { // close current input stream
        try {
           in.close();
        }
        catch (Exception e) {
        }
     }
     emptyBuffer();  // Added November 2007
     in = newin;
     readingStandardInput = false;
     inputErrorCount = 0;
     inputFileName = fileName;
  }

}

2 个答案:

答案 0 :(得分:2)

我不得不使用TextIO进行学校作业,我也被困在了它上面。我遇到的问题是使用Scanner类我只需传递文件的名称,只要该文件与我的类在同一文件夹中即可。

Scanner fileScanner = new Scanner("data.txt");

工作正常。但是使用TextIO,这将无法正常工作;

TextIO.readfile("data.txt"); // can't find file

你必须像这样包含文件的路径;

TextIo.readfile("src/package/data.txt");

不确定是否有办法让它像扫描仪课一样工作,但这就是我在学校课程中一直在做的事情。

答案 1 :(得分:0)

以上答案(关于使用正确的文件名)是正确的,但是,为澄清起见,请确保您实际上使用了正确的文件路径。上面建议的文件路径,即src / package /并非在所有情况下都适用。尽管这对于某些人来说是显而易见的,但对于需要澄清的人,请继续阅读。

例如(我使用的是NetBeans),如果您已经将该文件移到NetBeans中,并且该文件已经在您想要放入的文件夹中,则右键单击该文件夹本身,然后单击“属性” 。然后通过单击隐藏文件路径旁边的三个点来展开“文件路径”部分。您将看到完整的实际文件路径。

例如,如果整个文件路径为:

C:\ Users .. \ NetBeansProjects \ IceCream \ src \ icecream \ icecream.dat

然后,在Java代码文件本身中,您可以编写:

TextIo.readfile("src/icecream/icecream.dat");

换句话说,请确保您包括单词“ src”,但也包括紧随其后的所有内容。如果它与其余文件位于同一文件夹中,则在“ src”之前不需要任何内容​​。