繁体   English   中英

在文本文件中显示特定行-android / java

[英]Display a specific line in a text file - android/java

我正在尝试构建一个显示来自文本文件的有趣事实的应用程序。 为此,我得到一个随机数,然后从文件中显示该特定行号。当我运行应用程序并尝试按按钮时,我得到的只是一个空白文本字段。 这是我的代码:

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_fun_facts);
    // Declare and assign variables
    final TextView factLabel = (TextView) findViewById(R.id.factTextView);
    Button showFactButton =  (Button) findViewById(R.id.showFactButton);
    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            /*
            code here runs when button click is detected by line 29
            code shows new fact
            */
            String fact = "";
            //get a random number to select a fact
            Random randomNumberGenrator = new Random();//construct random object
            int randomNumber = randomNumberGenrator.nextInt(391);
            FileReader fr = null;
            try {
                fr = new FileReader("facts.txt ");//construct filereader and assign file
            } catch (FileNotFoundException e) {
                e.printStackTrace();//exception raised
            }
            LineNumberReader getFact = new LineNumberReader(fr);//construct lineNumberReader
            getFact.setLineNumber(randomNumber);//set current line number to random number
            try {
                fact = getFact.readLine();//read current line and assign it to fact
            } catch (IOException e) {
                e.printStackTrace();
            }
            factLabel.setText(fact);
            try {
                getFact.close();//close lineReader
            } catch (IOException e) {
                e.printStackTrace();
            }
            try {
                fr.close();//close fileReader
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    };
    showFactButton.setOnClickListener(listener);
}

你有什么错误吗?

检查此行,也许是它的错字,但值得检查,并从路径中删除该空间。 OLD:fr = new FileReader(“ facts.txt”); 新:fr =新的FileReader(“ facts.txt”);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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