Java 从包中读取文件

Java 从包中读取文件,java,filereader,Java,Filereader,这是我当前的代码: public void copy(String file, String region) throws FileNotFoundException, IOException{ File inputFile = new File(curDir+"\\RADS\\system\\"+file+"-"+region+".cfg"); File outputFile = new File(curDir+"\\RADS\\system\\"+file+".cfg");

这是我当前的代码:

public void copy(String file, String region) throws FileNotFoundException, IOException{

    File inputFile = new File(curDir+"\\RADS\\system\\"+file+"-"+region+".cfg");
    File outputFile = new File(curDir+"\\RADS\\system\\"+file+".cfg");

    FileReader in = new FileReader(inputFile);
    FileWriter out = new FileWriter(outputFile);
    int c;

    while ((c = in.read()) != -1) {
        out.write(c);
    }

    in.close();
    out.close();
}
在这种情况下,从硬盘上的某个位置读取文件并进行复制。但是我想要的是inputFile是一个来自resourcepackage的文件,我仍然希望使用相同的机制


有人能帮我吗?

您可以使用类加载器的getResourceAsStream来实现此目的:

InputStream input = getClass().getResourceAsStream("/RADS/system/" + file + " - " + region + ".cfg");
InputStreamReader in = new InputStreamreader(input);
班上的其他同学应该可以这样保持不变

有关(部分)更多信息:


祝你好运:)

你想从一个包中读取一个文件,比如
org.mypackage.files
?我想他可能想从一个罐子中读取它们。是的,在本例中,我想在本例中读取/resource/launcher-eu.cfg,然后必须将内容放入例如C:\program files\game\launcher.cfgisit filereader中—与inputstreamreader不同—然后?@Toby filereader直接读取文件;但由于getResourceAsStream只返回一个InputStream,因此需要使用InputStreamReader。最后,一个pro的结果是一样的:InputStreamReader可能也在读取指向汇编的.jar文件中的文件的InputStream(FileReader无法直接读取该文件)。