gpt4 book ai didi

java - 我应该如何在 Java 程序中存储文本文件以便于读取它们?

转载 作者:行者123 更新时间:2023-11-30 07:49:05 25 4
gpt4 key购买 nike

我正在制作一个程序,它以多个文本文件的形式接受多项选择题,读取它们,然后对用户进行测验。

我将文本文件放在一个包中,并使用 File 类型访问包,然后读取目录中的所有文件,但是当我运行时它不会读取文件.jar 文件(它在测试期间有效)。然后我尝试使用 InputStream 并且它现在可以工作了,但是我必须指定每个文本文件的文件名。无论如何我都可以使用 InputStream 读取目录中的所有文件,或者是否有我应该尝试的替代解决方案?

最佳答案

我相信将文件放在外部文件夹中会更容易管理,而且有些人认为将代码以外的文件放在其主源文件夹中是不好的做法。如果您担心人们打开和阅读文件,只需应用某种编码即可。以下是我将如何访问外部文件夹:

  1. 创建一个文件夹来放置所有文本文件。我们将其命名为“questions”。此文件夹可以放在您的项目文件夹中,稍后只需将其复制并粘贴到 JAR 文件旁边即可。

  2. 在您的项目中创建一个名为 resources 的新源 (src) 文件夹,并创建一个名为“res”的新包。在 res 包中,创建一个名为 ResourceLoader 的类。此类将用于通过使用用户目录(即 JAR 所在的文件夹)访问外部文件和文件夹。

类(class):

public class ResourceLoader {

private static final String QUESTION_FOLDERNAME = "questions";

/**
* Returns the folder containing all the questions
*
*/
public static File getQuestionsFolder(){
String userDirectory = System.getProperty("user.dir");
System.out.println(userDirectory+"\\"+QUESTION_FOLDERNAME);

return new File(userDirectory+"\\"+QUESTION_FOLDERNAME);
}

}

现在您可以访问此文件夹并阅读如下内容:

File folder = ResourceLoader.getQuestionsFolder();

for(File f : folder.listFiles()){

// Read the text file...

}

您的项目结构应如下所示:

enter image description here

关于java - 我应该如何在 Java 程序中存储文本文件以便于读取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48715383/

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