Java从jar创建测试文件

Java从jar创建测试文件,java,file,jar,export,Java,File,Jar,Export,我想要一个java应用程序,在启动jar后,我会在jar所在的同一文件夹中得到一个文件,例如test.txt 例如,我点击jar,在同一个文件夹中得到一个test.txt文件 下面的代码在eclipse中工作并创建文件,但在导出到jar后,不会生成任何文件 如果你能帮忙,我会很高兴的 public class FileWriterTest { public static void main(String[] args) { String fileName = "test.

我想要一个java应用程序,在启动jar后,我会在jar所在的同一文件夹中得到一个文件,例如test.txt

例如,我点击jar,在同一个文件夹中得到一个test.txt文件

下面的代码在eclipse中工作并创建文件,但在导出到jar后,不会生成任何文件

如果你能帮忙,我会很高兴的

public class FileWriterTest {
    public static void main(String[] args) {
        String fileName = "test.txt";
        try(
            FileWriter fileWriter = new FileWriter(fileName);
            BufferedWriter writer = new BufferedWriter(fileWriter);
        ) {
            writer.write("Hello");
                   } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

使用
System.getProperty(“user.dir”)
可以获得当前的“工作目录”。 如果要在该特定目录中创建文件,可以使用以下代码:

String workingDirectory = System.getProperty("user.dir");
File file = new File(working directory + File.separator + "filename.txt");
file.createNewFile();

如果您是以
java-jar yourjar.jar
运行的,它将不会采用额外的类路径

您需要添加jar和文件驻留在类路径中的位置,并调用主类的java命令

范例

Linux

窗户

java  -classpath .;path_dir_with_jar/*;path_to_file MainClas
最后可以读为

InputStream in = this.getClass().getClassLoader()
                                .getResourceAsStream("SomeTextFile.txt")

)

导出后如何运行jar?使用
System.getProperty(“user.dir”)
获取“工作”目录引用,并确保它位于您认为的位置
InputStream in = this.getClass().getClassLoader()
                                .getResourceAsStream("SomeTextFile.txt")