gpt4 book ai didi

java - 从未知路径读取文件

转载 作者:行者123 更新时间:2023-12-01 09:57:05 27 4
gpt4 key购买 nike

以下代码从特定路径读取文本文件。

import java.io.*;
public class Game {
static FileInputStream fin = null;
static DataInputStream din = null;
static BufferedReader br = null;

public void run()
{
fin = new FileInputStream("C:\\Users\\USER 1\\Desktop\\Project Java\\players.txt");
din = new DataInputStream(fin);
br = new BufferedReader(new InputStreamReader(din));
...}

我的问题是我想从任何路径读取players.txt文件,例如,如果我从路径不同的另一台机器运行程序。

最佳答案

在类路径中创建一个 config.properties 文件,并将该文件的路径存储在这样的变量中

pathToFile = C:\Users\USER 1\Desktop\Project Java\
nameOfFile = players.txt

然后,创建一个 Config 类并使用 Properties 类读取 properties 文件 supplied by Oracle 。在 Config 类中为上述两个变量创建适当的 setter 和 getter,并像这样读取文件:

import java.io.*;
import packagename.Config;
public class Game {
static FileInputStream fin = null;
static DataInputStream din = null;
static BufferedReader br = null;
static Config config = new Config();

public void run() {
fin = new FileInputStream(config.getPathToFile + config.getFileName);
din = new DataInputStream(fin);
br = new BufferedReader(new InputStreamReader(din));
}

使用此方法,您将外部存储文件的路径,因此每次您想要在另一台机器上运行 Java 程序时,您只需编辑 config.properties 文件并从控制台执行 jar代码修改。

注意

作为“最佳”实践,请避免包含随时可能更改的硬编码路径或名称(文件夹名称、数据库字段等)。作为第一条规则,始终将这些名称“聚集”在一个中心位置,在我们的例子中是一个类。通过这样做,每次名称更改时,您只需更改一次,而不必在整个项目中搜索它。

作为第二条规则,将这些名称与您的代码隔离开来,以允许在不更改属性文件内任何代码的情况下执行代码,无论文件夹结构、使用的操作系统等如何。通过这样做,即使是不懂 Java 的人也可以执行或编程,可以重命名文本文件中的几个变量并运行程序。

关于java - 从未知路径读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37114331/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com