java.io.FileInputStream;初始化>;(来源不明)

java.io.FileInputStream;初始化>;(来源不明),java,eclipse,Java,Eclipse,Hi在eclipse中部署了以下代码 //import cs1.Keyboard; import java.util.*; import java.io.*; public class Parser { public static void main (String[] args) throws IOException { String [][] addyArray = new String[50][4]; for (int j=0; j<5

Hi在eclipse中部署了以下代码

//import cs1.Keyboard;
import java.util.*;
import java.io.*;
public class Parser
{
    public static void main (String[] args) throws IOException
    {
        String [][] addyArray = new String[50][4];
        for (int j=0; j<50; j++)
        {
            for (int k=0; k<4; k++)
            {
                addyArray[j][k] = "\n";
            }
        }
        FileReader inFile = new FileReader ("sample.txt");
        BufferedReader in = new BufferedReader (inFile);
        String line = "";
        int i = 0, a = 0;
        while(in.ready())
        {
            line = in.readLine();
            while (line != null && line != "\n")
            {
                addyArray[i][a] = line;
                line = in.readLine();
                a++;
                if (line == null) line = "\n";
            }
            i++;
            a = 0;
        }
        for(int j=0; j<3; j++)
        {
            for(int k=0;k<4;k++)
            {
                System.out.println((j+1) + "-" + (k+1) + " " + addyArray[j] [k]);
            }
        }
    }
}

我将sample.txt文件放在上面源代码文件所在的包文件夹中。我不知道为什么会出现这个错误。你能帮帮我吗。谢谢

它应该放在参考资料文件夹中

src/main/java  ... same package
src/main/resource ... same package

在Eclipse中运行程序时,默认情况下,当前工作目录是项目的根目录。您可能有一个子目录来存放源代码,所以如果您将“sample.txt”放在其中,将找不到它

以“/sample.txt”的形式打开文件,或者(最好)将文件移动到Eclipse项目的根目录下

只有当文件是“资源”时,才适合将其放入源代码中;也就是说,有些信息在运行时不需要修改,但不便于用Java源代码表示。例如,UI的本地化文本和图像是一种资源,而用户指定的窗口大小和位置配置则不是。如果文件被视为资源,则可以使用
Class
的方法加载它

new BufferedReader(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("sample.txt")));

尝试以下代码,读取位于同一目录中的文件

您得到的实际异常是什么?同意。getResourceAsStream()是我获取资源类型文件的首选方法。
new BufferedReader(new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("sample.txt")));