如果存在,我想从资源文件夹中获取一个文件,如果不存在,我想在那里创建它。我想以文件的形式访问它。getresource()返回url时不起作用。getresourceasstream()提供了输入流,但是我不能在其中写入,或者我可以吗?
import java.io.File;
import java.io.FileNotFoundException;
public class Statistika {
File file;
public Statistika() {
try {
file = Statistika.class.getResourceAsStream("statistics.txt");
} catch (FileNotFoundException e) {
file = new File("statistics.txt");
}
}
如何做到这一点?
4条答案
按热度按时间nbysray51#
尝试使用
Statistika.class.getClassLoader().getResource(filename);
如果它返回null,那么您可以创建新的文件/目录。如果您从jar访问这个,那么使用
Statistika.class.getClassLoader().getResourceAsStream(filename);
希望它能解决你的问题。如果你发现任何困难,请告诉我。cgh8pdjw2#
不要这样做
file = new File("statistics.txt");
在你的接球区。。只需做以下操作这与文件是否存在无关。
dvtswwa33#
你试过这个吗?
kfgdxczn4#
使用bufferedreader将内容插入到f引用的文件中。