gpt4 book ai didi

java - Eclipse:如何/在何处将文本文件包含在 Java 项目中?

转载 作者:行者123 更新时间:2023-11-30 09:22:13 24 4
gpt4 key购买 nike

我正在使用 Eclipse (SDK v4.2.2) 开发一个 Java 项目(Java SE,v1.6),该项目目前从外部 .txt 文件中读取信息,作为单次使用多次的方法的一部分。我想将这些文件包含在我的项目中,使它们成为“ native ”以使项目独立于外部文件。我不知道将文件添加到项目中的位置或如何添加它们以便通过适当的方法轻松使用它们。

在谷歌上搜索没有找到任何可靠的指导,我也没有在这个网站上发现任何类似的问题。如果有人知道如何添加文件以及它们应该去哪里,我将不胜感激任何建议,甚至是正确方向的一点。此外,如果需要有关代码或 .txt 文件的任何其他信息,我将很乐意提供尽可能详细的信息。

2013 年 5 月 20 日更新:我已经设法将文本文件放入类路径中;它们位于名为“resc”的文件夹下的一个包中(根据 dharam 的建议),该文件夹与打包我的代码的“src”文件夹位于同一类路径级别。现在我只需要弄清楚如何让我的代码正确读取这些文件。具体来说,我想将选中的文件读入一个二维数组,逐行读取,每行用分隔符分割。在将文件直接打包到工作区之前,我使用 BufferedReader 来执行此操作:

public static List<String[]> fileRead(String d) {
// Initialize File 'f' with path completed by passed-in String 'd'.
File f = new File("<incomplete directory path goes here>" + d);

// Initialize some variables to be used shortly.
String s = null;
List<String> a = new ArrayList<String>();
List<String[]> l = new ArrayList<String[]>();

try {
// Use new BufferedReader 'in' to read in 'f'.
BufferedReader in = new BufferedReader(new FileReader(f));

// Read the first line into String 's'.
s = in.readLine();

// So long as 's' is NOT null...
while(s != null) {
// Split the current line, using semi-colons as delimiters, and store in 'a'.
// Convert 'a' to array 'aSplit', then add 'aSplit' to 'l'.
a = Arrays.asList(s.split("\\s*;\\s*"));
String[] aSplit = a.toArray(new String[2]);
l.add(aSplit);

// Read next line of 'f'.
s = in.readLine();
}

// Once finished, close 'in'.
in.close();
} catch (IOException e) {
// If problems occur during 'try' code, catch exception and include StackTrace.
e.printStackTrace();
}

// Return value of 'l'.
return l;
}

如果我决定使用 Pangea 提供的链接中描述的方法(使用 getResourceAsStream 将文件作为 InputStream 读入),我不确定如何才能获得相同的结果。有人能帮我找到解决同一个问题的方法吗,或者我应该问这个问题到另一个问题来防止头痛吗?

最佳答案

您可以将它们放在您想要的任何位置,但这取决于您希望通过放置文件实现的目标。

一般的做法是创建一个名为 resc/resource 的文件夹并将文件放入其中。将文件夹包含在类路径中。

关于java - Eclipse:如何/在何处将文本文件包含在 Java 项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16614246/

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