[英]android - read from text file line by line
我有以下代码,这些代码在Java中有效。 我现在正在尝试做与Android应用程序等效的操作。 操作非常简单:我需要在一个类中(在同一工作空间中)使用一种方法,在该类中,我首先需要从存储在/ res / raw中的文本文件中脱颖而出。
基本上,我需要从Android Activity类中调用驻留在Java类中的此方法。 这怎么可能?
活动类代码段(CaptureActivity.java):
setContentView(R.layout.orientation);
try {
SentenceGenerator sentenceGenerator = new SentenceGenerator();
ArrayList<String> firstState = stateGenerator.getState(resultOutput, result, result);
String viewPoint = firstState.get(0);
String object = firstState.get(1);
String subject = firstState.get(2);
Thing subjectInfo = new Thing();
if(resultOutput.equals("Sliema")){
Sliema sliema = new Sliema();
subjectInfo = sliema.getInfo(viewPoint, object, subject);
}
try {
String s = sentenceGenerator.generateSentence("start.txt", "middle.txt", "end.txt", resultOutput, viewPoint, object, subject, subjectInfo.type, subjectInfo.name, subjectInfo.properties, false);
TextView instructionTextView = (TextView) findViewById(R.id.instructionTextView);
instructionTextView.setText(s);
} catch (Exception e) {
}
} catch (ClassNotFoundException e) {
}
Java类代码段(SentenceGenerator.java):
public static ArrayList<String> getLines(String filename) throws Exception {
ArrayList<String> lines = new ArrayList<String>();
FileInputStream fstream = new FileInputStream(filename);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null) {
lines.add(strLine);
}
in.close();
return lines;
}
预先感谢您的帮助!
更改以下代码:
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
lines.add(strLine);
}
至
Scanner br = new Scanner(new InputStreamReader(in));
while (br.hasNext()) {
String strLine = br.nextLine();
lines.add(strLine);
}
那应该工作。 希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.