首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将输出从System.out重定向到JavaFx TextArea

在JavaFX中,可以通过以下步骤将输出从System.out重定向到JavaFX的TextArea组件:

  1. 创建一个TextArea组件,用于显示输出结果。
代码语言:txt
复制
TextArea textArea = new TextArea();
  1. 创建一个PrintStream对象,将其重定向到TextArea的输出流。
代码语言:txt
复制
PrintStream printStream = new PrintStream(new TextAreaOutputStream(textArea));
  1. 将System.out的输出流重定向到上述创建的PrintStream对象。
代码语言:txt
复制
System.setOut(printStream);
  1. 创建一个自定义的OutputStream类,用于将输出流写入TextArea组件。
代码语言:txt
复制
import java.io.IOException;
import java.io.OutputStream;

public class TextAreaOutputStream extends OutputStream {
    private TextArea textArea;

    public TextAreaOutputStream(TextArea textArea) {
        this.textArea = textArea;
    }

    @Override
    public void write(int b) throws IOException {
        textArea.appendText(String.valueOf((char) b));
    }
}
  1. 现在,当使用System.out.println()或System.out.print()输出内容时,输出将被重定向到TextArea组件中。

以下是一个完整的示例代码:

代码语言:txt
复制
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;

public class RedirectSystemOut extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        TextArea textArea = new TextArea();

        PrintStream printStream = new PrintStream(new TextAreaOutputStream(textArea));
        System.setOut(printStream);

        System.out.println("Hello, World!");

        StackPane root = new StackPane(textArea);
        primaryStage.setScene(new Scene(root, 300, 200));
        primaryStage.show();
    }

    public static class TextAreaOutputStream extends OutputStream {
        private TextArea textArea;

        public TextAreaOutputStream(TextArea textArea) {
            this.textArea = textArea;
        }

        @Override
        public void write(int b) throws IOException {
            textArea.appendText(String.valueOf((char) b));
        }
    }
}

这样,输出的内容将显示在JavaFX的TextArea组件中。你可以根据需要将此代码集成到你的JavaFX应用程序中,并根据实际情况进行调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux如何将输出重定向文件和标准输出

调用ls -al > rumenz.txt会将来自该命令的任何输出重定向指定的文件,有没有办法将输出重定向文件并将其显示在标准输出上?...> ls -al > rumenz.txt 上面的命令执行后,数据被输入rumenz.txt文件,屏幕没有任何输出,如果既想输入文件又想输入屏幕,请使用如下的方法....使用tee 如果您只关心标准输出 > ls -al | tee rumenz.txt 如果要包含 stderr,请执行以下操作,会覆盖之前的数据 > ls -al 2>&1 | tee rumenz.txt...2>&1将通道 2(标准错误/标准错误)重定向通道 1(标准输出/标准输出),这样两者都被写入为标准输出。...它也被定向tee命令的给定输出文件。 如果要包含 stderr,请执行以下操作, 追加模式 > ls -al 2>&1 | tee -a rumenz.txt

5.2K20

如何将 Linux 命令输出重定向文件?

它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入文件中,并列举尽可能多的命令示例。图片什么是输出重定向?...在Linux中,有两个主要的输出重定向操作符可以使用:>:用于将命令的输出覆盖写入文件中。>>:用于将命令的输出追加到文件中。将输出写入文件要将命令的输出写入文件,可以使用>操作符。...将输出和错误一起重定向有时候,我们希望将命令的输出和错误都重定向同一个文件。要做到这一点,我们可以使用&>操作符。...结论本文我们介绍了如何使用输出重定向将Linux命令的输出导入文件中,并列举了许多命令示例。通过使用>和>>操作符,我们可以将命令的输出写入文件或追加到文件末尾。...我们还介绍了如何将命令的输出和错误一起重定向同一个文件,并将标准错误输出附加到文件中。这些技巧在日常的命令行操作中非常有用,可以帮助我们更好地管理和分析命令的输出

1.2K00

如何将 Linux 命令输出重定向文件?

它允许我们执行各种任务和操作,包括将命令的输出保存到文件中。本文将介绍如何使用重定向操作符将Linux命令的输出导入文件中,并列举尽可能多的命令示例。图片什么是输出重定向?...在Linux中,有两个主要的输出重定向操作符可以使用:>:用于将命令的输出覆盖写入文件中。>>:用于将命令的输出追加到文件中。将输出写入文件要将命令的输出写入文件,可以使用>操作符。...将输出和错误一起重定向有时候,我们希望将命令的输出和错误都重定向同一个文件。要做到这一点,我们可以使用&>操作符。...结论本文我们介绍了如何使用输出重定向将Linux命令的输出导入文件中,并列举了许多命令示例。通过使用>和>>操作符,我们可以将命令的输出写入文件或追加到文件末尾。...我们还介绍了如何将命令的输出和错误一起重定向同一个文件,并将标准错误输出附加到文件中。这些技巧在日常的命令行操作中非常有用,可以帮助我们更好地管理和分析命令的输出

1.4K20

【Java 基础篇】Java 标准输出流详解:输出你的程序之美

输出重定向 除了打印到控制台,你还可以将标准输出重定向文件或其他输出目标。这对于生成日志文件或将输出保存到文件中非常有用。...重定向文件 要将标准输出重定向文件,你可以使用 System.setOut 方法并提供一个 PrintStream 对象,该对象将数据写入文件中。...然后,我们将标准输出重定向这个字符串输出流。...System.out.println("这是一行文本" + System.lineSeparator() + "这是另一行文本"); 考虑输出重定向: 在某些情况下,你可能希望将输出重定向文件而不是标准输出...此外,我们还介绍了如何将输出重定向文件或字符串,以及一些处理错误输出的方法。 标准输出流对于调试和日志记录非常有用,因此请牢记这些知识,以便在开发 Java 应用程序时能够更好地利用它们。

50020

第68篇:javafx编写扫描器UI界面的线程死锁问题及坑点总结

正常输出是7、8、9、10随机出现,但是却出现了多个10及多个11的情况,输出结果明显不正确。...经过测试我们发现,对于TextArea的多线程取值过程,不用加Platform.runLater(() -> {});,也可以保证线程安全。...2 javafx控件修改值过程测试 接下来再添加一行修改javafx控件文本框的代码:Quanjv.textarea.setText("test");,发现在100个线程操作下程序立马报错。...最终得出结论:javafx的图形界面在jdk8及其它高版本jdk是存在兼容性问题的,Scenebuilder8.x适用于jdk8版本的图形界面拖拽,Scenebuilder20.x适用于jdk11jdk20...坑7:javafx在jdk11至jdk17的编译问题 按照正常的编写javafx程序的流程,idea 2022版本编译出来的jar包,有时候会提示找不到主类,有时候会提示缺少JavaFX运行组件。

30431

Java如何实现控制台输出结果转换为变量

然后,将System.out(即标准输出)的引用保存到一个临时变量oldStream中,并将System.out设置为cacheStream,这样所有原本打印到控制台的信息都会被写入baoStream...(cacheStream); // 将系统输出重定向cacheStream 2.3 执行并捕获输出 通过上述步骤,接下来就可以执行任何会输出到控制台的操作。...System.out.println("3 1 2"); 由于已经将System.out重定向到了cacheStream,因此这个字符串实际上被写入了baoStream。...2.4 恢复系统输出并获取输出内容 在捕获了所需的输出后,需要将System.out恢复其原始状态,即oldStream。...然后,可以baoStream中获取之前捕获的输出内容,并将其转换为字符串。

10710

Java8新特性及使用(二)

JavaFX JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和Java一样跨平台。Java8开始,JavaFx已经内置到了JDK中。...关于JavaFx更详细的文档可参考JavaFX中文文档。 其它 1....,也精简了jre/lib/charsets.jar包;优化了String(byte[], *)构造方法和String.getBytes()方法的性能;还增加了一些新的IO/NIO方法,使用这些方法可以文件或者输入流中获取流..., FileVisitOption...): 查找相应的文件 下面就是用流式操作列出当前目录下的所有文件和目录: Files.list(new File(".").toPath()).forEach(System.out...它接受class文件、目录、jar文件作为输入,默认情况下,jdeps会输出到控制台。 作为例子,让我们看看现在很流行的Spring框架的库的依赖关系报告。

64830

java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和Sy

本文关键词: java 标准输出与标准错误    out与 err 区别 用法 联系  java中的out与err区别  System.out和System.err的区别 System.out.println...和System.err.println的区别 Java重定向System.out和System.err 概述 操作系统一般都有三个标准文件描述符:标准输入,标准输出,标准出错 这是操作系统的一种抽象表达...按照惯例,此输出流用于显示错误消息     或者显示那些即使用户输出流(变量 out 的值)已经重定向通常不被连续监视的某一文件或其他目标,也应该立刻引起用户注意的其他信息。...也就是说,out用于输出,err用于一切你认为逻辑上是错误的东西,需要引起注意的东西 ---- 差别 System.out在JVM和操作系统都具有缓存功能, 就是你输出的东西不一定实时输出,有时候会积攒一定数量才会输出...://out.txt ")))); System.setErr(new PrintStream(new FileOutputStream(new File( "d://err.txt ")))); 重定向后没有输出

1.6K30

Java打包成.exe完美教程

而我最近使用JavaFx搞了一个小工具,主要是对局域网内其他设备的搜寻和展示,目前已开源在gitee。 重点:本文将介绍如何将JavaFx工程打包为.exe文件。...utm_id=0 创建JavaFx项目 首先使用idea新建一个javafx的项目,填写好相关信息 接着下一步选择GUI控件步骤 随后点击CREATE创建,就可以编写自己的代码了。...:jlink构建 假设这里你的程序已经编写完成并且本地测试没问题后,我们点击右侧栏的Maven菜单->Plugins->javafx->javafx:jlink 打包好后会在target里生成一个app.bat...这里其实已经完成整个打包流程了,将以上LANGadget目录压缩成一个zip即可做成绿色版。...一直点击“是” 第十一步:提示让我们保存这个 .iss 文件以便下次可直接执行 随后执行脚本产生如图: 即可在刚刚安装包输出的路径中看到我们的exe安装包了 结尾 这里我们整个打包exe流程就结束啦!

2K10

System.out.println与System.err.println的区别

System.out.println能重定向别的输出流,这样的话你在屏幕上将看不到打印的东西了, 而System.err.println只能在屏幕上实现打印,即使你重定向了也一样。...当向控制台输出信息时,开发者有两个选择:System.out和System.err。使用者更倾向于输出的是System.out,而如果是System.err则输出“error”。...System.err和System.out就是错误输出和标准输出。如果你用LOG4J记录日志的话,且设定错误等级的话,System.err的输出是将记录到日志中。...输出设备是一样的所以你看到的是一样的System.setErr(),System.setOut()是重定向两个流的方法。...另外,特别的,当你使用MyEclipse和Tomcat6以上时,输出System.err.println("aaaa")控制台是红色显示的,在控制台很显眼,一下就能找到,非常适合输出调试信息,这个我个人比较喜欢用

1.6K20

GO语言中println和fmt.println()区别

Print()/Println() 标准输出:在Linux中是stdout,在JAVA中是System.out,在Golang中是fmt.Println() 我们以JAVA中System.err...,System.out作为比较,其他语言类似。...引入JDK官方文档的解释System.err,System.out: out:“标准”输出流。此流已打开并准备接受输出数据。...按照惯例,此输出流用于显示错误消息,或者显示那些即使用户输出流(变量 out 的值)已经重定向通常不被连续监视的某一文件或其他目标,也应该立刻引起用户注意的其他信息。 官方解释是不是很抽象?...其实字面意思上就能看出,一个是专为输出错误用的,一个是通常输出用的,都是输出流,但按照人们习惯惯例还是分开的好。

1.6K30

掌握Java编程的关键:深入解析System类,有两下子!

System类还提供了输入输出流相关的方法,如标准输入输出流的获取,重定向等,方便我们进行IO操作。缺点:System类中的方法都是静态方法,有一定的限制,不能被继承或重写。...进行IO操作,如获取输入输出流、重定向等等。...使用PrintStream类对输出流进行包装,方便进行输出操作。使用System.setOut()方法将标准输出System.out设置为指定的输出流out。...使用System.out.println()方法输出信息,此时输出的内容将会被重定向指定的文件output.txt中。关闭输出流。  ...基本概念到实际应用,方法说明源码分析,每一个环节都让我们对Java的系统级别操作有了更深刻的理解。  System类作为Java语言的基石之一,它的属性和方法为Java程序提供了强大的支持。

32851

安卓应用安全指南 4.8 输出到 LogCat

但智能手机用户可以通过 ADB ,阅读输出到 logcat 的每个日志信息。 安全角度来看,在发行版应用中,最好不要输出任何日志。...安全角度来看,最好是,任何日志都不应该在发行版应用中输出,但有时候,即使在发行版本应用中,出于各种原因也会输出日志。每种思考方式按照以下描述。...[18] ttp://developer.android.com/reference/android/util/Log.html 按照啰嗦程度的顺序排列,最少最多是ERROR,WARN,INFO...我们介绍一种改变System.out / err默认输出目标的方法。 当你构建发行版应用时,以下代码将System.out / err方法的输出重定向到任何地方。...但是,你应该考虑此重定向是否会导致应用或系统故障,因为代码会暂时覆盖System.out / err方法的默认行为。 此外,这种重定向仅对你的应用有效,对系统进程毫无价值。

39810

全网最全Linux 运行jar包的几种方式

ctrl+c 后程序也会继续运行 方式三: nohup java -jar xxx.jar & nohup 即 no hang up 不挂断 ,关闭SSH客户端连接,程序不会中止运行 缺省情况下该作业的所有输出重定向...nohup.out的文件中,如何让输出的内容重定向指定的文件呢?...方式四:nohup java -jar xxx.jar >aaa.log & command >out.file 是将commandd 输出重定向out.flie文件,即输出内容不打印到屏幕上,而是输出到...所有写入它的内容都会永远丢失,尝试它那儿读取内容则什么也读不到。...也就是将所有产生的日志将被丢弃 ​ 2>&1 符号>&是一个整体代表将标准错误2重定向标准输出1,如果是2>1的话,代表将标准错误输出到文件1,而不是重定向标准输出流 ​ 先了解下1和2在

4.7K20
领券