Android 中读取文本文件并以 TextView 形式输出

2023-12-01

我正在尝试读取已保存在我的目录中的文本文件并将其作为 TextView 打印在屏幕上。这是我到目前为止所拥有的代码。但是,当我运行该应用程序时,它会创建一个 toast,上面写着“读取文件时出错”。我在这里做错了什么?

public class sub extends Activity {

private TextView text;


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.text);
    //text = (TextView) findViewById(R.id.summtext);
    //File file = new File("inputNews.txt");        
    //StringBuilder text = new StringBuilder();
    try {
        InputStream in = openFileInput("inputNews.txt");

        if(in != null){
            InputStreamReader reader = new InputStreamReader(in);
            BufferedReader br = new BufferedReader(reader);
            StringBuilder text = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                text.append(line);
                text.append('\n');
            }   
            in.close();            

        }

    }
    catch (IOException e) {
        Toast.makeText(getApplicationContext(),"Error reading file!",Toast.LENGTH_LONG).show();
        e.printStackTrace();
    }


    TextView output= (TextView) findViewById(R.id.summtext);
    output.setText((CharSequence) text);

}

}

enter image description here


如果你想保留一个.txt文件在您的项目中,您必须将其找到assets folder.
然后你可以通过以下方式访问它资产管理器 .
Read this关于如何创建您的主题assets文件夹,然后使用以下代码:

public class subActivity extends Activity {

private TextView textView;
private StringBuilder text = new StringBuilder();

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.text);
    BufferedReader reader = null;

    try {
        reader = new BufferedReader(
            new InputStreamReader(getAssets().open("inputNews.txt")));

        // do reading, usually loop until end of file reading  
        String mLine;
        while ((mLine = reader.readLine()) != null) {
            text.append(mLine);
            text.append('\n');
        }
    } catch (IOException e) {
        Toast.makeText(getApplicationContext(),"Error reading file!",Toast.LENGTH_LONG).show();
        e.printStackTrace();
    } finally {
        if (reader != null) {
        try {
            reader.close();
        } catch (IOException e) {
            //log the exception
        }
    }

    TextView output= (TextView) findViewById(R.id.summtext);
    output.setText((CharSequence) text);

 }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中读取文本文件并以 TextView 形式输出 的相关文章

随机推荐

  • 无需本地信任库的客户端证书身份验证

    好吧 一开始这可能听起来很奇怪 所以请耐心听我说 我需要解决的问题是这样的 我需要以某种方式在 Spring Boot 应用程序中启用客户端身份验证 允许客户端自己创建证书 without服务器需要使用服务器私钥对 CSR 进行签名 我怎样
  • 防止任务管理器中的进程被关闭

    我正在开发一个小程序来提高工作效率 它应该在预设的分钟数后断开用户与互联网的连接或关闭您的计算机 不应使用任务管理器关闭该程序 我可以编译该程序并运行它 但我可以使用任务管理器关闭它 我的灵感来自于这一页 include
  • 如何用 sed、awk 等 shell 命令的输出替换子字符串?

    我想用sed或任何命令行工具 用 shell 命令的输出替换部分行 例如 通过调用将 linux 纪元替换为人类可读的时间戳date 通过调用内部解码器 将特定协议数据包的十六进制转储替换为其解码后的对应数据包 sed似乎最合适 因为它也允
  • Div 在 IE8 中不会浮动

    这将是主要标记 div class mancha div class logo div div class espacio div class eltitular HEADER div div class lacarta LEFT CONT
  • 将随机森林预测作为列添加到测试文件中

    我在 python 中工作pandas in a Jupyter笔记本 我在其中为泰坦尼克号数据集创建了一个随机森林模型 https www kaggle com c titanic data 我读入测试和训练数据 然后清理它并添加新列 两
  • 使用node/js/MySQL工作台将变量传递给查询字符串

    问题 将变量传递到插入语句时 我在数据库中收到空插入 变量有名字 姓氏 电子邮件 密码 我所知道的 我知道我正在获取用户输入表单数据 我正在安慰它们在插入语句之前存储的变量 该语句起作用并将表单数据打印到控制台 当表单在网页上提交时 它存储
  • C# 中两个进程之间的同步。

    有什么办法可以让我们同步两个独立的进程吗 就像如果他们共享资源一样 我想同步它们 我正在使用 C 你可以使用 Mutex 类 请参阅此处的文档 http msdn microsoft com en us library system thr
  • 如何制作库存物品标签 (IN619200) 为收到的每件物品打印一个标签?

    开箱即用Acumatica Inventory Item Label报告 IN619200 旨在仅当项目序列化时才在收据上打印该行项目的多个标签 我们将修改报告 允许用户选择收据编号 并让系统根据每件商品收到的数量生成标签数量 无论它们是否
  • 在 jPanel 周围拖动/移动形状

    昨天我问了一个关于如何绘制边界框以在内部容纳形状的问题如何拖放所选形状 第一个问题就解决了 但我在移动形状时遇到了一些麻烦 是否有任何特定的转换可以在 jPanel 周围移动形状 我有这个代码 public boolean drag Mou
  • Qt 5.2.0 缺少相机服务

    我有一个罗技高清网络摄像头 C270 我想编写一个简单的网络摄像头应用程序 因此我尝试编译 Qt 摄像头示例 Qt Qt5 2 0 5 2 0 msvc 2010 opengl examples multimediawidgets came
  • 如何在sql server中使用like运算符选择匹配百分比高于其他记录的记录?

    我有一组记录需要使用条件进行搜索 但标准返回我多行 因此 我需要具有最大标准匹配百分比的前 2 条记录 我研究了模糊逻辑 但发现对于如此简单的问题来说它太复杂了 我有如下场景 SELECT DISTINCT FirstName LastNa
  • 根据深色或浅色模式更改样式

    我想在我的 Vue 应用程序上有一个深色和浅色主题 我可以创造dark scss文件并更改类样式和使用 important属性来覆盖组件中定义的样式 或者我可以使用props在我的组件中并更改 classNamev if根据主题 例如将类别
  • Microsoft Bond 架构演变最佳实践

    Microsoft Bond 是否有一些关于架构如何随时间演变的最佳实践 我想确保我们遵循最佳实践 以便我们具有两种方式的兼容性 即允许我们的 Bond 类型将旧版本演变成当前版本 以及向后兼容性允许从较新版本转换回旧版本 我没有在文档中看
  • .net core AsyncLocal 失去了价值

    我使用类似的模式HttpContext访问器 简化版本如下 Console WriteLine SimpleStringHolder StringValue 不应该为空 public class SimpleStringHolder pri
  • 如何查看mysql中索引的大小(包括主键)

    2个常见的答案是使用显示表状态 and INFORMATION SCHEMA TABLES 但似乎 他们都没有计算主键的大小 我有包含数百万条记录的表 带有主键且没有其他索引 上面提到的两种方法都显示Index length 0对于那些桌子
  • 试图获取非对象 SimpleXML 的属性?

    我当前正在使用以下代码从 REST api 检索信息 url http api remix bestbuy com v1 products 28upc upc 29 apiKey API KEY xmlfiledata file get c
  • 如何将函数应用于 data.frame 的每个元素?

    我想将一个数值转换为一个因子 如果该值低于 2 则 down 应该是因子 如果它高于2 则 up 和 no change 之间 到目前为止我考虑过创建一个函数 classifier lt function x if x gt 2 retur
  • APDU 在 mifare classic 上写入块命令

    我一直在尝试将一些数据写入我的 Mifare 经典卡 首先我发送这两个命令 返回 90 00 加载 Mifare 钥匙 FF 82 20 01 06 FF FF FF FF FF FF 认证 FF 86 00 00 05 01 00 01
  • 制作 iPhone 应用程序时是否可以嵌入或加载 SWF(Apple 是否允许)

    我对在为 iphone 制作应用程序时是嵌入 swf 还是加载它们有点困惑 有谁知道每个的优点是什么 最好使用哪个 我知道嵌入 swf 应该比加载它们快一点 但这就是全部吗 另外 这一点很重要 我读到苹果将拒绝任何带有外部 swf 的应用程
  • Android 中读取文本文件并以 TextView 形式输出

    我正在尝试读取已保存在我的目录中的文本文件并将其作为 TextView 打印在屏幕上 这是我到目前为止所拥有的代码 但是 当我运行该应用程序时 它会创建一个 toast 上面写着 读取文件时出错 我在这里做错了什么 public class