精华内容
下载资源
问答
  • 运行驱动程序时,输出可以在控制台上很好地打印,但是我还需要控制台上的确切输出才能打印到文件中。但是,我似乎无法获得控制台输出以打印到文件。 我在这里尝试过这个建议如何将控制台输出写入txt文件通过做这个...

    我有点问题

    我正在运行一个包含许多类的程序,并使用一个驱动程序来运行所有这些类。 运行驱动程序时,输出可以在控制台上很好地打印,但是我还需要控制台上的确切输出才能打印到文件中。

    但是,我似乎无法获得控制台输出以打印到文件。 我在这里尝试过这个建议

    如何将控制台输出写入txt文件

    通过做这个

    import java.io.FileOutputStream;

    import java.io.PrintStream;

    public class Compiler {

    public static void main(String args[]){

    try {

    Parse parser = new Parse();

    SemanticAnalyzer sAnalyzer = new SemanticAnalyzer();

    String parserfile= parser.parsefile(args[0]);

    sAnalyzer.semanticAnalysis(parserfile);

    PrintStream out = new PrintStream(new FileOutputStream("output.txt"));

    System.setOut(out);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    }

    但是文件仍然空白(可能是因为打印语句在其他文件中?)。

    有人有什么想法吗?

    您应该在任何控制台输出之前调用setOut

    我敢肯定,在我完成键入操作之前,它将得到答复。但是,这里发生的是您将(默认)输出流从控制台重定向到文件。如果要打印到两个位置,则需要有一个实际上记录到两个位置的PrintStream。 (或者您可以查找一个日志记录解决方案-有几个)。但是,为了对此有所了解,可以:

    http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html

    您可以实现一个PrintStream或OutputStream(可能是更好的选择),方法是实现接口并分别记录到文件和控制台中(喜欢!)。

    @Voicu上面已经解释了一种更简单的方法,但是感觉有些误导,那就是有一种方法可以通过创建一个新方法来替换System.out();调用,该方法将这些流指定为输出的一部分。您可以轻松创建一个静态方法来解决此问题:

    //Redirect via a method

    public static PrintStream FILE = new PrintStream(new FileOutputStream("output.txt"));

    public static void log(String x)

    {

    FILE.println(x);

    System.out.println(x);

    }

    现在,一个可怕的但实用的解决方案看起来像这样:

    public static class DualStream extends PrintStream

    {

    private PrintStream out;

    private PrintStream file;

    public DualStream(File file, PrintStream out) throws FileNotFoundException

    {

    super(file);//I'm being SUPER lazy/hacky here

    this.out = out;

    this.file = new PrintStream(file);

    }

    //... through all the methods I want to use...

    public void println(String x) {

    out.println(x);

    file.println(x);

    }

    }

    public static void main(String ... args) throws FileNotFoundException

    {

    DualStream out = new DualStream(new File("output.txt"), System.out);

    System.setOut(out);

    System.out.println("This is a test");

    }

    现在,这是糟糕的代码,首先,我违反了构造函数的约定,以使其正常工作,但它确实起作用。我根本不建议这样做,我只是想证明它确实可以做到。正确的方法是使用那里的许多记录器之一,或者坦率地说,将命令行上的输出重定向到所需的位置。

    在这种情况下,您想要使用的操作系统或正在运行的服务器:

    (如何将命令的输出重定向到两个文件)

    这确实可以实现您想要的功能,但是允许用户根据需要进行登录。如果您不想使用日志记录系统(Log4J,日志记录包等)进行日志记录,那么我将把它留给您的用户使用,而只需使用err / out而不是过多考虑。 java -jar myjar.jar > log.txt

    创建一种方法,在将输出到两个流的所有内容输出时将在整个代码中使用:

    private void output(String text, PrintStream ps1, PrintStream ps2) {

    ps1.println(text);

    ps2.println(text);

    }

    并从代码中调用它:

    PrintStream ps = new PrintStream(new FileOutputStream("output.txt"));

    output("text1", System.out, ps);

    output("text2", System.out, ps);

    output("text3", System.out, ps);

    ps.close();

    谢谢!,但是现在它不能打印到控制台了:

    @ Razor88您的方法适用于打印到控制台或文件。 为了同时打印到两者,您可以进行日志记录(例如log4j),用于同时打印到两者的外部库(Apache Commons IO)或构建如上所述的方法以打印到两个(或更多)流。

    展开全文
  • 这篇文章主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下面试时有一道面试题:要求获取当时时间,并像电子手表那样...

    这篇文章主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    面试时有一道面试题:要求获取当时时间,并像电子手表那样打印到控制台。

    import java.text.SimpleDateFormat;

    import java.time.LocalTime;

    import java.util.Date;

    /**

    * 打印时间到控制台

    *

    */

    public class ConsoleTime {

    public static void main(String[] args) {

    // LocalTime now = LocalTime.now();

    // System.out.println(now);

    // System.out.println(now.getHour() + " " + now.getMinute() + " " + now.getSecond());

    Date date = new Date();

    //yyyy-MM-dd

    SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");//设置日期格式

    String str = format.format(date);

    System.out.println("现在时间:" + str);

    String[] time = getTime(str.split(":"));

    for (int i=0; i

    System.out.println(time[i]);

    }

    }

    static String[] getTime(String[] array) {

    String[] strArrays = new String[5];

    String str1 = "";

    String str2 = "";

    String str3 = "";

    String str4 = "";

    String str5 = "";

    for (int i=0; i

    char[] chars = array[i].toCharArray();

    for (int a=0; a

    switch (chars[a]) {

    case '0':

    str1 += " -- ";

    str2 += " | | ";

    str3 += " | | ";

    str4 += " | | ";

    str5 += " -- ";

    break;

    case '1':

    str1 += " | ";

    str2 += " | ";

    str3 += " | ";

    str4 += " | ";

    str5 += " | ";

    break;

    case '2':

    str1 += " ---- ";

    str2 += " | ";

    str3 += " ---- ";

    str4 += " | ";

    str5 += " ---- ";

    break;

    case '3':

    str1 += " ---- ";

    str2 += " | ";

    str3 += " ---- ";

    str4 += " | ";

    str5 += " ---- ";

    break;

    case '4':

    str1 += " | | ";

    str2 += " | | ";

    str3 += " ---- ";

    str4 += " | ";

    str5 += " | ";

    break;

    case '5':

    str1 += " ---- ";

    str2 += " | ";

    str3 += " ---- ";

    str4 += " | ";

    str5 += " ---- ";

    break;

    case '6':

    str1 += " ---- ";

    str2 += " | ";

    str3 += " ---- ";

    str4 += " | | ";

    str5 += " ---- ";

    break;

    case '7':

    str1 += " ---- ";

    str2 += " | ";

    str3 += " | ";

    str4 += " | ";

    str5 += " | ";

    break;

    case '8':

    str1 += " ---- ";

    str2 += " | | ";

    str3 += " ---- ";

    str4 += " | | ";

    str5 += " ---- ";

    break;

    case '9':

    str1 += " ---- ";

    str2 += " | | ";

    str3 += " ---- ";

    str4 += " | ";

    str5 += " ---- ";

    break;

    }

    }

    if(i < (array.length-1)) {

    str1 += " ";

    str2 += " . ";

    str3 += " ";

    str4 += " . ";

    str5 += " ";

    }

    }

    strArrays[0] = str1;

    strArrays[1] = str2;

    strArrays[2] = str3;

    strArrays[3] = str4;

    strArrays[4] = str5;

    return strArrays;

    }

    }

    打印出来的样式:

    f3622ad50a293fbd6ffd3bcb7dc4f33d.png

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 实现方法:火狐在Firefox上,您可以使用名为FirePHP的扩展,它可以将PHP应用程序中的信息记录和转储到控制台。这是令人敬畏的Web开发扩展Firebug的插件。Chrome如果您使用Chrome,则会有一个名为webug或Chrome Log.....

    我的意思是:就像在jsp中一样,如果我们打印出类似于system.out.println("some")它的内容,那么它将出现在控制台而不是页面上。

    实现方法:

    火狐

    在Firefox上,您可以使用名为FirePHP的扩展,它可以将PHP应用程序中的信息记录和转储到控制台。这是令人敬畏的Web开发扩展Firebug的插件。

    Chrome

    如果您使用Chrome,则会有一个名为webug或Chrome Logger的PHP调试工具。

    最近,Clockwork正在积极开发中,它通过添加一个新面板来扩展Developer Tools,以提供有用的调试和分析信息。它为Laravel 4和Slim 2提供了现成的支持,并且可以通过其可扩展的API添加支持。

    使用Xdebug

    调试PHP的更好方法是通过Xdebug。大多数浏览器都提供帮助程序扩展,以帮助您传递所需的cookie /查询字符串以初始化调试过程。

    或者你使用这个函数:

    function debug_to_console( $data ) {

    $output = $data;

    if ( is_array( $output ) )

    $output = implode( ',', $output);

    echo "";

    }

    然后你可以像这样使用它

    debug_to_console( "Test" );

    这将创建一个这样的输出:

    Debug Objects: Test

    展开全文
  • public class NotI18N {static public void main(String[] args) {//时 代 J a v a - N o w J a v a . c o m 提供System.out.println("Hello.");System.out.println("How are you?");System.out.println("Goodbye.")...

    public class NotI18N {

    static public void main(String[] args) {//时 代 J a v a - N o w J a v a . c o m 提供

    System.out.println("Hello.");

    System.out.println("How are you?");

    System.out.println("Goodbye.");

    }

    }

    /*

    * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.

    *

    * Redistribution and use in source and binary forms, with or without

    * modification, are permitted provided that the following conditions

    * are met:

    *

    * - Redistributions of source code must retain the above copyright

    * notice, this list of conditions and the following disclaimer.

    *

    * - Redistributions in binary form must reproduce the above copyright

    * notice, this list of conditions and the following disclaimer in the

    * documentation and/or other materials provided with the distribution.

    *

    * - Neither the name of Oracle or the names of its

    * contributors may be used to endorse or promote products derived

    * from this software without specific prior written permission.

    *

    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS

    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,

    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

    * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR

    * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

    /**代码未完, 请加载全部代码(NowJava.com).**/

    展开全文
  • java web项目中通过apache poi将本地excel文件导入到系统中并打印到控制台
  • package demo2; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Test { public ...
  • 您不必自己实现它,最好的方法是使用现有的实现,如java APIHttpURLConnection或Apache的HttpClient以下是使用HttpURLConnection进行操作的示例:URL url = new URL("http","www.google.com");HttpURLConnection urlc ...
  • 把日志打印到控制台要比打印到文件慢,而且是非常慢。log4j2和logback的两个issue官方也提到了这一点(见LOG4J2-2239、LOGBACK-1422)。那么为何输出到控制台慢?有何办法加速呢?问题要从三个角度来分别回答:linux的...
  • 4r [%t] %-5p %c %x - %m%n 586.MemoryAppender,它应该映射log4j.properties中的记录器或者只是像nz.ac.massey.cs这样的包部件.sdc.log4jassignment. 看起来你在这里混合很多. Log4jMemoryAppender是你的MEMORY_...
  • 【单选题】以下哪项是接口的正确定义?【判断题】绝缘手套和绝缘鞋由特种橡胶制成,以保证足够...【单选题】下面不是Java基本数据类型的是()。【单选题】关于房地产估价误差的说法,错误的是( )。【单选题】RED HAT...
  • 我在Android应用程序中有以下代码: ...如果按下按钮,控制台打印“Catch 0”(但不是“Catch 1”)。如果我再次按下按钮(同一实例),控制台打印“Catch1Catch0”。有什么问题? 我对Java有点新,所以请耐心等待。
  • Java读取txt格式文件打印到控制台

    千次阅读 2014-06-01 21:39:37
    import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class Demo1 { public static void main(String[] args) throws Exception { //Class.ge File test1 = new File
  • 我从互联网上找到了下面的代码,但它不会将打印控制台写入omt.txt,它只会在第二个catch块之后写入System.out.println语句....我想将控制台输出保存omt.txt文本文件中.如果在控制台打印“Hello 123”,它也应该...
  • 如果我们打印'intarray'我们会得到一些哈希码...&与" floatarray"相同但是如果我们打印'chararray'我们什么也得不以下数据是什么意思?class Test{public static void main(String []aeg){int []intarray = new ...
  • 当我使用通过GsonBuilder.setPrettyPrinting().create()声明的Gson实例并使用它来序列化一个Cls对象并将结果JSON字符串打印到控制台时,我得到了很好的格式,如下所示:{"foo":"bar","foo2":["b1","b2"],"foo3":12}...
  • 为何把日志打印到控制台很慢? 在容器打印日志到控制台阻塞的排障的时候看到一个观点: 把日志打印到控制台要比打印到文件慢,而且是非常慢。 log4j2和logback的两个issue官方也提到了这一点(见LOG4J2-2239、...
  • 思路:使用FileReader类读取文本文件中的内容到一个StringBuffer对象中,并将其打印到屏幕上。代码文件:PrintChenApplication.java ChenOperator.java数据文件:华文楷体.txt华文隶书.txt宋体.txt幼圆.txt方正舒体....
  • 在catch中的e.printStackTrace()将打印到控制台 2、e.printStackTrace()打印的内容是什么 import org.apache.logging.log4j.Logger; public class ExceptionTest { private static final Logger lo...
  • ## Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements. See the NOTICE file distributed with#this work foradditional information regarding copyright own....
  • 从D盘下HelloWorld.java文件中读取全部信息并打印到控制台 异常处理使用try---catch关键字进行捕获并打印相关信息 */ public class test3 { public static void main(String[] args){    try {
  • 把日志打印到控制台要比打印到文件慢,而且是非常慢。log4j2和logback的两个issue官方也提到了这一点(见 LOG4J2-2239、 LOGBACK-1422)。那么为何输出到控制台慢?有何办法加速呢?问题要从三个角度来分别回答: ...
  • 但是当我们把程序打包后,在使用程序的时候出现异常我们就看不到异常出现在哪一句代码上,不利于调试,所以我们就要想办法获取到控制台打印出的异常文本。 public static void main(String[] args){ try { ...
  • 它的速度不是那么快......使用endl(清除缓冲区)测试 1 million couts :结果:console cout time: 2.87001file cout time: 2.33776码:class Timer{struct timespec startTime, endTime;double sec;...
  • 技巧是使用System.out.print()打印进度状态,并在字符串的末尾添加回车符(“ \r”),以将光标位置返回行的开头并打印下一个 进度状态。packageorg.nhooo.example.lang;publicclassConsoleProgressBar{...
  • 如何设置spring boot集成 mybatis 然后sql语句打印到控制台,方便调试: 设置方法: 在application.properties文件中添加: logging.level.com.zhangshitong.springbootModel.demo.mapper=DEBUG 红色部分替换成自己...
  • import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class Test {  publi
  • 控制台打印接收后台返回的json 发现了这个 ????返回的json里后面多了一块DIV.... 经排查是电脑昨天安装了迅雷后 自动在我的Chrome里装了拓展程序 关闭掉就恢复了 同理其他的拓展插件也可能会有这种流氓...
  • 我一直在查看我正在研究的Java应用程序的很多Kafka文档.我已经尝试了Java 8中引入的lambda语法,但是我在这方面有点粗略,并且不觉得它应该是我现在使用的那个.我有一个Kafka / Zookeeper服务运行没有任何麻烦,我想要...
  • //将指定byte数组以16进制的形式打印到控制台 public static void printHexString( byte[] b) { for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[i] & 0xFF); if (hex....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,454
精华内容 581
关键字:

java打印到控制台

java 订阅