阅读Java

时间:2016-07-22 01:47:10

标签: java

我是Java初学者,我正在尝试从现有的文本文件中创建一个读取程序。我已经尽了最大努力,但它继续说“找不到文件!”。我已将“Test.txt”复制到我的包的文件夹 - src和bin中。 请帮助我。我会非常感激的。这是代码 -

package readingandwritingfiles;
import java.io.*;

public class ShowFile {

    public static void main(String[] args) throws Exception{
        int i;
        FileInputStream file_IN;
        try {
            file_IN = new FileInputStream(args[0]);
        }
        catch(FileNotFoundException e) {
            System.out.println("File Not Found!");
            return;
        }
        catch(ArrayIndexOutOfBoundsException e) {
            System.out.println("Usage: ShowFile File");
            return;
        }
        do {
            i = file_IN.read();
            if(i != -1)
                System.out.print((char)i);
        } while(i != -1);
        file_IN.close();
        System.exit(0);
    }

}

4 个答案:

答案 0 :(得分:0)

如果您只是放置Test.txt,那么程序将查找项目的根文件夹。例: 项目 -src - 包 - -类 -bin -Test.txt Test.txt需要与src和bin位于同一目录中,而不是在它们内部

答案 1 :(得分:0)

将带有相对路径的字符串(或文件)传递给项目文件夹(如果你的文件在src文件夹中,这个应该是" src / Test.txt& #34;,不是" Test.txt" )。

对于读取文本文件,您应该使用FileReader和BufferedReader,BufferedReader有读取已完成行的方法,您可以读取直到找到null。

一个例子:

String path = "src/Test.txt";
try {
    FileReader fr = new FileReader(path);
    BufferedReader br = new BufferedReader(fr);
    String line = br.readLine();
    while(line != null) {
        System.out.println(line);
        line = br.readLine();
    }
    br.close();
} catch (Exception ex) {
}

答案 2 :(得分:0)

如果你的文件夹结构是这样的(src文件夹里面的Text.txt文件)

+src

         +Text.txt

然后使用此代码

        ClassLoader classLoader = ShowFile.class.getClassLoader();
        File file = new File(classLoader.getResource("Text.txt").getFile());
        file_IN = new FileInputStream(file);

或者如果你的文件夹结构是这样的

+src

      +somepackage

               +Text.txt

然后使用此代码

        ClassLoader classLoader = ShowFile.class.getClassLoader();
        File file = new File(classLoader.getResource("/somepackage/Text.txt").getFile());
        file_IN = new FileInputStream(file);

答案 3 :(得分:0)

完成此任务的方法很多!我注意到你指定了args [0],为什么?

// Java Program to illustrate reading from Text File
// using Scanner Class
import java.io.File;
import java.util.Scanner;
public class ReadFromFileUsingScanner
{
  public static void main(String[] args) throws Exception
  {
    // pass the path to the file as a parameter
    File file =
      new File("C:\\Users\\test.txt");
    Scanner sc = new Scanner(file);

    while (sc.hasNextLine())
      System.out.println(sc.nextLine());
  }
}