gpt4 book ai didi

java - 在项目文件夹中找不到文件

转载 作者:行者123 更新时间:2023-12-01 22:33:10 25 4
gpt4 key购买 nike

我有一个从项目主文件夹加载 config.properties 文件的函数,但是,它给了我一个 FileNotFoundException,我不知道为什么。我的方法如下:

public static Configfile configuration() {
String server = null;
int dbport = 0;
String dbuser = null;
String dbpass = null;

Properties prop = new Properties();
InputStream input = null;

try {
input = new FileInputStream("config.properties");
prop.load(input);

server = prop.getProperty("server");
dbport = Integer.parseInt(prop.getProperty("dbport"));
dbuser = prop.getProperty("dbuser");
dbpass = prop.getProperty("dbpassword");
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return new Configfile(server, dbport, dbuser, dbpass);
}

我的 config.properties 文件位于:

E:\Android\NSomething5

我错过了什么?

编辑:堆栈跟踪:

12-04 17:00:07.619: W/System.err(21368): java.io.FileNotFoundException: /config.properties: open failed: ENOENT (No such file or directory)
12-04 17:00:07.619: W/System.err(21368): at libcore.io.IoBridge.open(IoBridge.java:416)
12-04 17:00:07.619: W/System.err(21368): at java.io.FileInputStream.<init>(FileInputStream.java:78)
12-04 17:00:07.619: W/System.err(21368): at java.io.FileInputStream.<init>(FileInputStream.java:105)
12-04 17:00:07.619: W/System.err(21368): at com.example.nsomething.utils.DBOperations.configuration(DBOperations.java:122)
12-04 17:00:07.619: W/System.err(21368): at com.example.nsomething.utils.DBOperations.<init>(DBOperations.java:24)
12-04 17:00:07.619: W/System.err(21368): at com.example.nsomething.Report.<init>(Report.java:20)
12-04 17:00:07.619: W/System.err(21368): at java.lang.Class.newInstanceImpl(Native Method)
12-04 17:00:07.619: W/System.err(21368): at java.lang.Class.newInstance(Class.java:1319)
12-04 17:00:07.619: W/System.err(21368): at android.app.Instrumentation.newActivity(Instrumentation.java:1071)
12-04 17:00:07.619: W/System.err(21368): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
12-04 17:00:07.619: W/System.err(21368): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
12-04 17:00:07.619: W/System.err(21368): at android.app.ActivityThread.access$700(ActivityThread.java:150)
12-04 17:00:07.619: W/System.err(21368): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
12-04 17:00:07.619: W/System.err(21368): at android.os.Handler.dispatchMessage(Handler.java:99)
12-04 17:00:07.619: W/System.err(21368): at android.os.Looper.loop(Looper.java:137)
12-04 17:00:07.619: W/System.err(21368): at android.app.ActivityThread.main(ActivityThread.java:5279)
12-04 17:00:07.619: W/System.err(21368): at java.lang.reflect.Method.invokeNative(Native Method)
12-04 17:00:07.619: W/System.err(21368): at java.lang.reflect.Method.invoke(Method.java:511)
12-04 17:00:07.619: W/System.err(21368): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
12-04 17:00:07.619: W/System.err(21368): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
12-04 17:00:07.619: W/System.err(21368): at dalvik.system.NativeStart.main(Native Method)
12-04 17:00:07.619: W/System.err(21368): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
12-04 17:00:07.619: W/System.err(21368): at libcore.io.Posix.open(Native Method)
12-04 17:00:07.619: W/System.err(21368): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
12-04 17:00:07.619: W/System.err(21368): at libcore.io.IoBridge.open(IoBridge.java:400)
12-04 17:00:07.619: W/System.err(21368): ... 20 more

最佳答案

FileInputStream 从提供的绝对路径或相对于“当前工作目录”的路径加载文件。现在绝对路径与您的示例无关。因此 FileInputStream 在“当前工作目录”中搜索文件“config.properties”。该目录通常是您启动程序的目录。如果您在 Android 上执行此操作,请将配置文件放在 Assets 文件夹中,并使用 Assets API 函数将该文件作为流加载。如果这是一个独立的 java 程序,则将该文件放在类路径上并使用 classloader.getResourceAsStream 加载该文件。最后,如果您知道文件的绝对路径,请直接使用它。

关于java - 在项目文件夹中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27297292/

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