Java 文件编写器。如何在与 .exe 文件相同的目录中创建文件夹?
Java FileWriter. How do you create a folder in the same directory as your .exe file?
public void saveFile() {
try {
try (BufferedWriter save = new BufferedWriter (new FileWriter("Lessons\" + tempTextField.getText() + ".txt"))) { // creates the file
save.write(lessonPane.getText()); // saves the contents of the text pane into file
JOptionPane.showMessageDialog(null, "File Saved!");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, e);
}
这就是我目前拥有的,现在它工作得很好。但是为了让它工作,我必须在项目目录中创建一个文件夹,否则它会抛出一个错误,说缺少位置。
问题是我想为这个项目制作一个 .exe 文件和安装程序(因为它是学校的项目要求)。在我构建并使用 L4J 制作 .exe 并使用 ISC 安装程序之后,它会抛出一个错误,指出目标位置(又名文件夹“Lessons”)无效/丢失。
在尝试解决它之后,我认为它不再工作的原因是因为我的 .jar .exe。和 JRE 位于文件夹“dist”中(在我清理并构建项目以获取 .jar 文件后生成),而文件夹“Lessons”位于根文件夹中。
如何使文件夹自动生成在与 .jar 或 .exe 相同的位置。老实说,我什至不知道这是否可能。还有其他方法可以解决这个问题吗?
非常感谢!
public void saveFile() {
File fdir = new File("Lessons");
if (!fdir.exists()) {
if(fdir.mkdirs()){
System.out.println("directory created");
} else {
System.out.println("folder creation failed");
}
} else {
System.out.println("directory already exists");
}
try {
try (BufferedWriter save = new BufferedWriter (new FileWriter("Lessons\" + tempTextField.getText() + ".txt"))) { // creates the file
save.write(lessonPane.getText()); // saves the contents
JOptionPane.showMessageDialog(null, "File Saved!");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, e);
}
这太傻了,我只是删除了 File
中的斜杠,它起作用了。 我不知道它是如何或为什么起作用的。但它奏效了。
public void saveFile() {
try {
try (BufferedWriter save = new BufferedWriter (new FileWriter("Lessons\" + tempTextField.getText() + ".txt"))) { // creates the file
save.write(lessonPane.getText()); // saves the contents of the text pane into file
JOptionPane.showMessageDialog(null, "File Saved!");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, e);
}
这就是我目前拥有的,现在它工作得很好。但是为了让它工作,我必须在项目目录中创建一个文件夹,否则它会抛出一个错误,说缺少位置。
问题是我想为这个项目制作一个 .exe 文件和安装程序(因为它是学校的项目要求)。在我构建并使用 L4J 制作 .exe 并使用 ISC 安装程序之后,它会抛出一个错误,指出目标位置(又名文件夹“Lessons”)无效/丢失。
在尝试解决它之后,我认为它不再工作的原因是因为我的 .jar .exe。和 JRE 位于文件夹“dist”中(在我清理并构建项目以获取 .jar 文件后生成),而文件夹“Lessons”位于根文件夹中。
如何使文件夹自动生成在与 .jar 或 .exe 相同的位置。老实说,我什至不知道这是否可能。还有其他方法可以解决这个问题吗?
非常感谢!
public void saveFile() {
File fdir = new File("Lessons");
if (!fdir.exists()) {
if(fdir.mkdirs()){
System.out.println("directory created");
} else {
System.out.println("folder creation failed");
}
} else {
System.out.println("directory already exists");
}
try {
try (BufferedWriter save = new BufferedWriter (new FileWriter("Lessons\" + tempTextField.getText() + ".txt"))) { // creates the file
save.write(lessonPane.getText()); // saves the contents
JOptionPane.showMessageDialog(null, "File Saved!");
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, e);
}
这太傻了,我只是删除了 File
中的斜杠,它起作用了。 我不知道它是如何或为什么起作用的。但它奏效了。