Java 在任何计算机上创建或读取文件

Java 在任何计算机上创建或读取文件,java,windows,file,path,Java,Windows,File,Path,我的启动程序将: 1.搜索文件 2.读文件 3.并为文件内容设置一个字符串 但我这样做的方式只有在他们有我硬编码的确切路径时才会起作用。 我希望路径能够适应其他计算机。我想我应该使用Path类,但我刚刚听说了,所以不确定该去哪里 基本上,我想让它在任何用户的桌面上搜索一个文件,如果它不在那里,就去做 如果您需要一些代码来澄清,我可以发布它,只要让我知道您可以使用路径“/yourfile.txt”。它将在目录“”中搜索“yourfile.txt”。这意味着项目的当前目录。也许它可以帮助您。您可以使

我的启动程序将: 1.搜索文件 2.读文件 3.并为文件内容设置一个字符串

但我这样做的方式只有在他们有我硬编码的确切路径时才会起作用。 我希望路径能够适应其他计算机。我想我应该使用Path类,但我刚刚听说了,所以不确定该去哪里

基本上,我想让它在任何用户的桌面上搜索一个文件,如果它不在那里,就去做


如果您需要一些代码来澄清,我可以发布它,只要让我知道您可以使用路径“/yourfile.txt”。它将在目录“”中搜索“yourfile.txt”。这意味着项目的当前目录。也许它可以帮助您。

您可以使用路径“/yourfile.txt”。它将在目录“”中搜索“yourfile.txt”。这意味着项目的当前目录。也许它可以帮助你。

我可以想出两个选择

您只需指定一个文件名,如“myFile.txt”,程序就会在其程序/项目文件夹中搜索该文件。 如果它不存在,您可以编写代码在程序文件夹中创建它,而不是硬编码任何绝对路径

否则,您可以尝试使用
javax.swing.JFileChooser
类弹出一个打开并保存对话框

这将给最终用户选择任何文件进行读写的自由

我发现下面两篇文章中有一些关于如何使用该类的示例。更多信息请参考他们


谢谢。

我想有两种选择

您只需指定一个文件名,如“myFile.txt”,程序就会在其程序/项目文件夹中搜索该文件。 如果它不存在,您可以编写代码在程序文件夹中创建它,而不是硬编码任何绝对路径

否则,您可以尝试使用
javax.swing.JFileChooser
类弹出一个打开并保存对话框

这将给最终用户选择任何文件进行读写的自由

我发现下面两篇文章中有一些关于如何使用该类的示例。更多信息请参考他们


谢谢。

其他程序通过让用户打开一个设置其他文件的程序来完成此任务,并为其提供正确的路径信息。是的,但要让程序检查文件是否存在,它需要一个路径。这条路只适用于我的电脑。。。但这正是我想做的。启动时,如果路径(保存在txt文件中)不存在,请创建它。但在下一个状态中,该文件为空。因为文件的路径在文件本身中。。。如果这使得其他程序通过让用户打开一个设置其他文件的程序来完成此任务,并为其提供正确的路径信息。是的,但要让程序检查文件是否存在,它需要一个路径。这条路只适用于我的电脑。。。但这正是我想做的。启动时,如果路径(保存在txt文件中)不存在,请创建它。但在下一个状态中,该文件为空。因为文件的路径在文件本身中。。。如果这有意义的话,这就是我想做的。用户选择路径。保存它。它将该路径写入文件。工作正常,但当程序重新启动时,我每次都必须这样做。因为要从文件(存储路径的地方)读取数据,程序需要一个要查找的路径……根据您的解释,我的理解是,数据文件的“路径”对程序来说总是很重要的,但对最终用户来说并不重要。在这种情况下,您可以简单地在程序代码中指定一个文件名,正如我前面提到的,然后该文件将在二进制文件所在的程序文件夹中创建。当您将程序打包成JAR文件并安装到另一台计算机上时,这将以相同的方式工作,因为路径始终是相对的,而不是绝对的。谢谢。这就是我想做的。用户选择路径。保存它。它将该路径写入文件。工作正常,但当程序重新启动时,我每次都必须这样做。因为要从文件(存储路径的地方)读取数据,程序需要一个要查找的路径……根据您的解释,我的理解是,数据文件的“路径”对程序来说总是很重要的,但对最终用户来说并不重要。在这种情况下,您可以简单地在程序代码中指定一个文件名,正如我前面提到的,然后该文件将在二进制文件所在的程序文件夹中创建。当您将程序打包成JAR文件并安装到另一台计算机上时,这将以相同的方式工作,因为路径始终是相对的,而不是绝对的。谢谢。但是当我把程序编译成一个可运行的java应用程序并放在另一台计算机上时,这会起作用吗?它会与JAR相关-在任何一台计算机上,但当我把程序编译成一个可运行的java应用程序并放在另一台计算机上时,这会起作用吗?它会与JAR相关-在任何一台计算机上