从文本文件获取内容到 String (Android) (FileNotFound) (Java)
Get content from a text file to String (Android) (FileNotFound) (Java)
我想从我的项目 (android 工作室) 中的文本文件中获取文本,并将该文本转换为字符串。我目前无法获得正确的路径或其他东西。我正在使用我在 Whosebug 上找到的两种方法将文本文件转换为字符串。这些是方法:
public static String convertStreamToString(InputStream is) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
return sb.toString();
}
public static String getStringFromFile (String filePath) throws Exception {
File fl = new File(filePath);
FileInputStream fin = new FileInputStream(fl);
String ret = convertStreamToString(fin);
//Make sure you close all streams.
fin.close();
return ret;
}
我正在这样调用方法,我尝试了各种路径,但 none 似乎有效:
Log.i("er0r", Solve.getStringFromFile("\tables\lowerLayer\cross\whiteRed.txt"));
这只是尝试打印文本文件的内容。我收到以下错误:java.io.FileNotFoundException: .\tables\lowerLayer\cross\whiteRed.txt: 打开失败:ENOENT(没有这样的文件或目录)
这是我订购包裹的方式:
http://imgur.com/a/rK9R5
我该如何解决这个问题?谢谢
编辑:
public String LoadData(String inFile) {
String str = "";
try{
StringBuilder buf=new StringBuilder();
InputStream json=getAssets().open(inFile);
BufferedReader in=
new BufferedReader(new InputStreamReader(json, "UTF-8"));
while ((str=in.readLine()) != null) {
buf.append(str);
}
in.close();
} catch (Exception e) {
Log.e("er0r", e.toString());
}
return str;
}
用 inFile 试过这个 = "assets\whiteRed.txt"
给我这个错误:java.io.FileNotFoundException: assets\whiteRed.txt
附加代码:
调用 LoadData 方法的 class 的构造函数
public class Solve {
private Context context;
//constructor
public Solve(Context context){
this.context = context;
}
如果在设计时,在 Android Studio 中,您想提供您的应用程序可以在 运行 时间读取的文件,然后将它们放入 Android Studio 的资产文件夹中项目。
也许您必须先创建该资产文件夹。
之后,您的应用可以使用资产管理器从资产中读取这些文件。
只需 google 了解具体操作方法。都在这里发过很多次了。
我想从我的项目 (android 工作室) 中的文本文件中获取文本,并将该文本转换为字符串。我目前无法获得正确的路径或其他东西。我正在使用我在 Whosebug 上找到的两种方法将文本文件转换为字符串。这些是方法:
public static String convertStreamToString(InputStream is) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
return sb.toString();
}
public static String getStringFromFile (String filePath) throws Exception {
File fl = new File(filePath);
FileInputStream fin = new FileInputStream(fl);
String ret = convertStreamToString(fin);
//Make sure you close all streams.
fin.close();
return ret;
}
我正在这样调用方法,我尝试了各种路径,但 none 似乎有效:
Log.i("er0r", Solve.getStringFromFile("\tables\lowerLayer\cross\whiteRed.txt"));
这只是尝试打印文本文件的内容。我收到以下错误:java.io.FileNotFoundException: .\tables\lowerLayer\cross\whiteRed.txt: 打开失败:ENOENT(没有这样的文件或目录)
这是我订购包裹的方式: http://imgur.com/a/rK9R5
我该如何解决这个问题?谢谢
编辑:
public String LoadData(String inFile) {
String str = "";
try{
StringBuilder buf=new StringBuilder();
InputStream json=getAssets().open(inFile);
BufferedReader in=
new BufferedReader(new InputStreamReader(json, "UTF-8"));
while ((str=in.readLine()) != null) {
buf.append(str);
}
in.close();
} catch (Exception e) {
Log.e("er0r", e.toString());
}
return str;
}
用 inFile 试过这个 = "assets\whiteRed.txt" 给我这个错误:java.io.FileNotFoundException: assets\whiteRed.txt
附加代码: 调用 LoadData 方法的 class 的构造函数
public class Solve {
private Context context;
//constructor
public Solve(Context context){
this.context = context;
}
如果在设计时,在 Android Studio 中,您想提供您的应用程序可以在 运行 时间读取的文件,然后将它们放入 Android Studio 的资产文件夹中项目。
也许您必须先创建该资产文件夹。
之后,您的应用可以使用资产管理器从资产中读取这些文件。
只需 google 了解具体操作方法。都在这里发过很多次了。