java - 如何从缓冲读取器读取前五个字符?

标签 java android xml root busybox

我有这个代码

Process p =Runtime.getRuntime().exec("busybox");
        InputStream a = p.getInputStream();
        InputStreamReader read = new InputStreamReader(a);
        BufferedReader in = new BufferedReader(read);

从终端运行它,oupout 的第一行返回 Busybox 的版本。如果我想像我一样以前 5 个字符为例?

最佳答案

虽然其他答案也应该很好地工作,但以下内容将在读取五个字符后退出并关闭流:

    Process p = Runtime.getRuntime().exec("busybox");
    InputStream a = p.getInputStream();
    InputStreamReader read = new InputStreamReader(a);

    StringBuilder firstFiveChars = new StringBuilder();

    int ch = read.read();

    while (ch != -1 && firstFiveChars.length() < 5) {
        firstFiveChars.append((char)ch);
        ch = read.read();
    }

    read.close();
    a.close();

    System.out.println(firstFiveChars);

关于java - 如何从缓冲读取器读取前五个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063428/

相关文章:

java - 如何在没有 IDE 帮助的情况下导入 Maven 2 项目

c# - 主数据管理 - 数据冗余

android - 如何检测屏幕上的非人为触摸

php - 如何迭代 SimpleXMLElement 对象的 XML 值

java - 如何使用 Java SAX 读取 XML 声明

java - 使用 Java 的 AWS Lambda - 设置配置连接/套接字超时

Java 文件 I/O 帮助

java - 如何通过AudioTrack播放大型PCM文件? (目前出现错误)

java - 如何设置 ListView 中项目的背景颜色

c# - 使用 XML 获取所有同名元素的内容?