繁体   English   中英

android-逐行从文本文件读取

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM