您好我有一个非常讨厌的问题我想阅读类似于此的文本文件
KEY
0 1 2 3 4 5 6 7
KEYEND
Run Code Online (Sandbox Code Playgroud)
我试图使用扫描仪类,因为它可以返回结果字符串,小数,等等
public static void LoadStuff(String Name) {
Scanner reader = null;
try {
reader = new Scanner(new File(Name));
} catch (Exception e) {
Log.d("damn", "FAIL");
}
if(reader != null)
Load(reader);
}
private static void Load(Scanner reader) {
while (reader.hasNext()) {
String result = reader.next();
if (result == "KEY") { // may be result.equalsignorecase
while (result != "KEYEND") {
int index = reader.nextInt();
Log.d("Index", String.valueOf(index));
}
}
}
reader.close();
}
Run Code Online (Sandbox Code Playgroud)
我不能在上面做,导致扫描仪无法找到文件,解析像"file.txt"不起作用,尝试使用这样的路径"res/data/file.txt"也无法工作在哪里,我应该把文件和如何获取使它工作的目录谢谢
小智 5
此代码使用getAssets()您的类的方法.您需要将文本文件放在Android项目的assets文件夹中.该getAssets方法返回AssetManager对象.该open(String.format("filename.txt"))方法返回一个InputStream.InputStream是DataInputStream的参数.然后使用它作为扫描仪的输入.
try {
DataInputStream textFileStream = new DataInputStream(getAssets().open(String.format("filename.txt")));
Scanner sc = new Scanner(textFileStream);
while (sc.hasNextLine()) {
String aLine = sc.nextLine();
System.out.println(aLine);
}
sc.close();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8502 次 |
| 最近记录: |