gpt4 book ai didi

java - 如何从 "assets"目录读取文本文件作为字符串?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:49:37 29 4
gpt4 key购买 nike

我的 Assets 文件夹中有一个文件...我该如何读取它?

现在我正在尝试:

      public static String readFileAsString(String filePath)
throws java.io.IOException{
StringBuffer fileData = new StringBuffer(1000);
BufferedReader reader = new BufferedReader(
new FileReader(filePath));
char[] buf = new char[1024];
int numRead=0;
while((numRead=reader.read(buf)) != -1){
String readData = String.valueOf(buf, 0, numRead);
fileData.append(readData);
buf = new char[1024];
}
reader.close();
return fileData.toString();
}

但是它抛出了一个空指针异常...

该文件名为“origin”,位于文件夹 Assets 中

我试着用它来转换它:

readFileAsString("file:///android_asset/origin");

readFileAsString("asset/origin");``

但都失败了……有什么建议吗?

最佳答案

BufferedReader 的 readLine() 方法在到达文件末尾时返回 null,因此您需要注意它并避免尝试将它附加到您的字符串。

下面的代码应该很简单:

public static String readFileAsString(String filePath) throws java.io.IOException
{
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line, results = "";
while( ( line = reader.readLine() ) != null)
{
results += line;
}
reader.close();
return results;
}

简单明了。

关于java - 如何从 "assets"目录读取文本文件作为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866746/

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