我想在目录中写一个文件,我的main.class也是。 这总是会出错:
File file = new File(main.class.getResourceAsStream("test.txt"));
那也不起作用:
File file = new File(getClass().getResource(AsStream)("me.test.test.txt"));
总是说,构造函数File(InputStream)是未定义的。 有人有想法吗?
此致
答案 0 :(得分:1)
你不能在这个流中写,它是一个InputStream。您应该根据getResource(“test.txt”)提供的路径创建FileOutpuStream。
如果文件已存在:
FileOutputStream file = new FileOutputStream(Main.class.getResource("/toto.txt").getFile());
如果它还不存在:
FileOutputStream file = new FileOutputStream(Main.class.getResource("/").getFile() + "toto.txt");
但是,要小心,位置可以在jar文件中,然后它可以是只读的。
答案 1 :(得分:0)
试试这个...
File file=(new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()));
文件对象表示main.class文件在运行时所在的目录。
之后创建新文件: 文件txtFile =新文件(文件," myText.txt");