【发布时间】:2021-05-13 14:52:19
【问题描述】:
tl;dr 我更习惯于编写只能基于当前工作目录输出的命令行脚本,所以我不确定在将从 JAR 启动的程序中使用哪个目录来输出文件.
节目说明:
我的程序根据程序其余部分提供的数据构建一个 HTML 文件,然后应该将其写入一个为简单起见我们称之为“Output.html”的文件。
相关代码:
public void outputHTML()
{
String output = buildHTML();
// Expanded to explain my confusion better
String fileDirectory = ""; // ???
String fileName = "Output.html";
String fullPath = fileDirectory + "\\" + fileName;
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fullPath)))
{
writer.write(output);
writer.close();
} catch (IOException e)
{
System.out.println("File not found.");
e.printStackTrace();
}
}
问题
我不知道将文件目录放在什么位置。通常我从命令行运行我的程序并使用“.\\Output.txt”作为我的输出路径,但如果它是从 JAR 运行的,我不知道该放在哪里。
所需的文件结构如下:
- 包含文件夹
- Program.jar
- 输出
- Output.html
或者(不确定这是否更容易理解或更难):
- 主要\
- main\Program.jar
- 主\输出\
- main\output\Output.html
我在 SE 上可以找到的所有内容都只与 读取 文件有关,这些文件既是 immutable 又是 internal,但我正在尝试输出一个非静态文件到我的 jar 之外的位置。
有人可以帮忙吗?谢谢!
其他详细信息
我目前正在使用没有 Gradle 的 Eclipse,因为我不知道 Gradle 是什么,而且新事物很可怕。如果使用 Gradle 更容易解决这个特定问题,请告诉我,我会查找更多相关信息。
编辑:
- 为代码块添加了语法高亮。
- 格式化一切都好一点
- 将标题更改为更具描述性
【问题讨论】: