Java 如何在当前目录中保存文件?

Java 如何在当前目录中保存文件?,java,database,directory,filepath,Java,Database,Directory,Filepath,我想知道如何在当前目录中保存文件。例如,假设软件应用程序创建了一个名为“Information.txt”的文本文件,并且软件应用程序允许编辑该文本文件。如果我编辑此文本文件中的文本并将其保存,我希望能够将项目复制到闪存驱动器上,并在另一台计算机上使用它,同时仍然可以访问“Information.txt”文件 基本上,我希望能够做的是将文件保存在与项目相同的目录中。我将使用什么文件路径来执行此操作。如果我使用数据库文件执行此操作,那么如何将数据库保存到当前目录中 提前感谢您提供的任何有用的答案 问

我想知道如何在当前目录中保存文件。例如,假设软件应用程序创建了一个名为“Information.txt”的文本文件,并且软件应用程序允许编辑该文本文件。如果我编辑此文本文件中的文本并将其保存,我希望能够将项目复制到闪存驱动器上,并在另一台计算机上使用它,同时仍然可以访问“Information.txt”文件

基本上,我希望能够做的是将文件保存在与项目相同的目录中。我将使用什么文件路径来执行此操作。如果我使用数据库文件执行此操作,那么如何将数据库保存到当前目录中

提前感谢您提供的任何有用的答案

问候,


Ryan Shukis

假设您知道如何写入文件,您可以使用以下方法:

File file = new File(System.getProperty("user.dir") + yourPath);
FileOutputStream fos = new FileOutputStream(file);

System.getProperty(“user.dir”)
返回当前工作目录

这比你想象的要复杂,因为“当前目录”的概念可能没有定义,或者可能不是你想象的那样。我相信您实际上希望将文件保存在应用程序JAR文件所在的目录中,该目录可能是也可能不是“当前目录”。请澄清。这可能是的一个副本,但在OP澄清之前,我不能真的作为副本关闭。好的,我想在运行JAR的文件夹中保存一个数据库。那太好了。那么,我如何准确地知道当前运行的JAR文件位于哪个目录中呢?没有“JAR正在运行的文件夹”这样的东西。jar文件本身可以存在于特定文件夹中。执行JVM并加载jar的进程可以有一个当前目录,该目录可能与jar的位置不同。然后,如果jar是通过网络加载的,那么它可能根本不在运行它的机器上。你能做的最好的事情就是提供一个命令行选项,告诉程序在任何给定的机器上将其数据库存储在哪里。记住,我遇到的问题是,数据库存储在每台机器的本地,因此应用程序将只提取存储在该计算机上的信息,而不是整个计算机网络。所以,我也可以用它来保存数据库,对吗?让我们稍微改变一下,我想保存一个数据库文件,而不是一个文本文件。我该怎么做?@Ryan我不明白为什么我什么也不做?@Ryan写数据就是写数据。如果您熟悉FileOutputStream,那么尝试写入磁盘的方式应该没有区别。但是,当我启动数据库时,我必须在设置中放置URL或文件路径。我将使用什么文件路径?