当我尝试运行从文本文件输入数据的Android应用程序时,我收到以下错误。 " java.io.fileNotFoundException:/File.txt:open failed:ENOENT(没有这样的文件或目录)"
有问题的文件位于Eclipse项目文件夹中。 我也尝试将它放在assets文件夹以及其他几个文件夹中。 以下是有问题的代码:
File file = new File("File.txt");
TestOutput = new ArrayList<String>();
String x = "";
try
{
Scanner scanner = new Scanner(file);
while (sc.hasNextLine())
{
x = sc.nextLine();
TestOutput.add(x);
}
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
到目前为止,我试图使用包装类无济于事,其代码如下:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class FileGet
{
ArrayList<String> TestOutput = new ArrayList<String>();
public FileGet() {
}
public ArrayList<String> getFile() {
File file = new File("TestOutput.txt");
TestOutput = new ArrayList<String>();
try
{
Scanner scanner = new Scanner(file);
String x = "";
while (scanner.hasNextLine())
{
x = scanner.nextLine();
TestOutput.add(x);
}
scanner.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
return TestOutput;
}
}
该代码在Android应用程序之外正常工作。任何建议/回应将不胜感激。
答案 0 :(得分:1)
试试这个,名为“line”的字符串是读取所有文本文件的字符串。将.text文件放在/ resources / raw文件夹下。
InputStream is = getResources().openRawResource(R.raw.name_of_file);
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line = null;
try {
while ((line = r.readLine()) != null)
total.append(line);
} catch (IOException e) {
e.printStackTrace();
}
line = total.toString();