精华内容
下载资源
问答
  • Java ArrayList内容逐行打印到控制台
    2021-04-18 07:25:53

    我是

    Java编程的新手,这实际上是我需要解决的一个问题的一部分:我正在逐行将一个文件的内容作为String读入ArrayList以供以后处理.我需要程序打印出来以在单独的行上控制ArrayList的内容,但运行编译文件后的输出打印文件的第一行,然后在下一行打印第一行和第二行,然后打印该计划的第一,第二和第三行.

    我对这个应该如何工作的理解是程序将采用我的文件,FileReader和BufferedReader将把文件中的文本行作为字符串抓取,然后将它们放在ArrayList中,每个String位于不同的位置. ArrayList对不对?有人可以告诉我在while循环中哪里出错了吗?谢谢!

    码:

    public class ArrayListDemo

    {

    public static void main (String[]args)

    {

    try

    {

    ArrayList demo= new ArrayList ();

    FileReader fr= new FileReader("hi.tpl");

    BufferedReader reader= new BufferedReader(fr);

    String line;

    while ((line=reader.readLine()) !=null)

    {

    //Add to ArrayList

    demo.add(line);

    System.out.println(demo);

    }

    reader.close();

    }catch (Exception e)

    {

    System.out.println("Error: "+e.getMessage());

    System.exit(0);

    }

    }

    }

    获得的输出:

    cat

    cat, rat

    cat, rat, hat

    预期产量:

    cat

    rat

    hat

    更多相关内容
  • I have tried the suggestion here By doing this import java.io.FileOutputStream; import java.io.PrintStream; public class Compiler { public static void main(String args[]){ try { Parse parser = new ...

    I have a bit of a problem

    I am running a program with many classes, with one driver to run all these classes. When I run the driver, the output prints on the console just fine, but I also need the exact output from the console to be printed to a file.

    However, I can't seem to get the console output to print to a file. I have tried the suggestion here

    By doing this

    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();

    }

    }

    }

    but the file still comes out blank (perhaps because the print statements are in other files?).

    Does anyone have any ideas?

    解决方案

    I'm sure this will be answered before I finish typing... however what's happening here is you're redirecting the (default) output stream from the console to a file. If you want to print to both locations you would need to have a PrintStream that actually logs to both locations. (Or you can go look up a logging solution--there are several). However, in the interest of being mildly academic about it:

    You can implement a PrintStream or OutputStream (probably the better choice) that does this by implementing the interfaces and logging to both the file and console in each case (yikes!).

    The easier method, which was explained above by @Voicu but feels a bit misguided is to have a method that replaces System.out(); calls by creating a new method that specifies those streams as part of the output. You could easily create a static method to get around this:

    //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);

    }

    Now a terrible, but functional solution, would look something like this:

    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");

    }

    Now this is terrible code, first I'm violating my constructors contract to make this work but it does work. I don't recommend doing this at all, I just wanted to prove it "can be done" if you really need it. The correct approach is to use one of the many loggers out there, or frankly, redirect the output on the command line to where you want it.

    What you want in this case is to use the operating system or the server you're running on:

    (how to redirect a output of a command to two files)

    This does EXACTLY what you want but allows the user to log as needed. If you don't want to log using a logging system (Log4J, Logging package, etc...) then I'd leave it up to your users and just use err/out rather than overthinking it. java -jar myjar.jar > log.txt

    展开全文
  • 将对象通过console打印成表格样式(类似控制台mysql查询) 支持list,List<Object> ,Object[],Iterator,Object等,不支持如:List<Integer> 等泛型为基本数据类型的集合。
  • 主要介绍了Java获取时间打印到控制台代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java 控制台 打印表格 可前往http://blog.csdn.net/j506825719/article/details/78996659查看效果图后再决定是否需要下载。
  • log4j-如何将日志打印到控制台? : https://blog.csdn.net/u011479200/article/details/102459717
  • ReadFromTextFile 从文本文件读取并打印到控制台的基本Java代码使用NetBeans创建的文件名特定于课程
  • 功能简介: 客户信息管理、商品信息管理、购物信息管理、退出系统
  • 今天小编就为大家分享一篇java 按行读取文件并输出到控制台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • // 将结果循环打印输出 while ((strCmd = bufferedReader.readLine()) != null) { System.out.println(strCmd); } //子线程结束后要杀掉 process.destroy(); } 值得一提的是,最开始走的弯路是下面这样,习惯了执行...

    string 里面的多条代码用 && 去拼接,但是不知道为啥当我写了3条拼接语句的时候,不会执行第四条了,所以就把第4条多写了一个string去执行 

    String command0 = "cmd /c D: && cd D:\\Documents\\Desktop\\minio && mc policy public minio/aaabbb";
            String command1 = "cmd /c D: && cd D:\\Documents\\Desktop\\minio && mc policy set download minio/aaabbb";
            String[] arrs = {command0,command1};
            for (String string : arrs) {
                // 定义一个字符串用来输出DOS命令的结果
                String strCmd;
                // 用来执行DOS命令
                Process process = Runtime.getRuntime().exec(string);
                // 将命令的结果以流的方式读入
                BufferedReader bufferedReader = new BufferedReader(
                        new InputStreamReader(process.getInputStream()));
                // 将结果循环打印输出
                while ((strCmd = bufferedReader.readLine()) != null) {
                    System.out.println(strCmd);
                }
                //子线程结束后要杀掉
                process.destroy();
            }
    

    值得一提的是,最开始走的弯路是下面这样,习惯了执行一条然后在执行一条dos,但是对于系统来讲cmd /c 或者/k start 等等都是针对于一个cmd窗口来讲的,所以不能分多条同步执行,以下是错误展示

     

    展开全文
  • java代码-控制台打印正三角形和倒三角形
  • 本地cmd命令, 输入命令, 并在控制台输出命令执行结果 jsch 远程sshlinux服务器, 执行结果并显示输出
  • 1.socket 编程控制台没有数据打印 2.打印中文乱码问题 3.附录:完整测试代码 1.socket 编程控制台没有数据打印 在程序运行之前要注意一点,就是server端的测试方法要先让他跑起来。因为只有服务端跑起来才能接收...
  • 功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行。类下载地址:http://download..net/download/j506825719/10211082简单使用方法:在new的时候,给定...

    功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行。

    类下载地址:http://download..net/download/j506825719/10211082

    简单使用方法:在new的时候,给定列名,和列值List,之后调用printTable就得到了表格字符串。

    进阶使用方法:查看所有public方法,就能知道还有什么功能了。

    效果图如下:

    bc816fab87de1673b02bca9daa0d476b.png

    接口如下:

    package com.benjamin.debug.extendclass;

    import java.awt.Font;

    import java.util.ArrayList;

    import java.util.HashMap;

    import java.util.List;

    import java.util.Map;

    /**

    *

    * @author Benjamin su

    * QQ:506825719

    * Email:jiang506825719@qq.com

    *

    */

    public class TextTable {

    //这个变量只是用来获取字符串的标准长度,修改无意义

    private static Font font = new Font("宋体", Font.PLAIN, 16);

    private String columnInterval="|";//列之间的间隔符号

    private AlignType at=AlignType.Left;

    private Integer MaxValueLenth=40;

    private Map maxFieldValueLengthMap=null;

    List columnNameList=null;

    List> columnValueList=null;

    private boolean isException=false;

    private Integer pringtTableRow=30;

    /**

    * 初始化时不给定列长度Map

    * @param columnNameListTmp

    * @param columnValueListTmp

    */

    public TextTable(List columnNameListTmp,List> columnValueListTmp){

    }

    /**

    * 初始化时给定列长度Map

    * @param columnNameListTmp

    * @param columnValueListTmp

    * @param maxFieldValueLengthMapTmp

    */

    public TextTable(List columnNameListTmp,List> columnValueListTmp,Map maxFieldValueLengthMapTmp){

    }

    /**

    * 获得处理后的表格字符串

    * @return

    */

    public String printTable(){

    }

    /**

    * 获取一个字符串的标准长度是多少

    * A2*. 这样是四个标准长度

    * 系统系统 这样是8个标准长度

    * @param str

    * @return

    */

    public static Integer getStrPixelsLenth(String str){

    }

    /**

    * 让列值居中

    * @param columnValue

    * @param ColumnPixelsLenth

    * @return

    */

    private String makeValueCenter(String columnValue,Integer repaireStrLength){

    }

    /**

    * 让列值左对齐

    * @param columnValue

    * @param ColumnPixelsLenth

    * @return

    */

    private String makeValueLeft(String columnValue,Integer repaireStrLength){

    }

    /**

    * 让列值右对齐

    * @param columnValue

    * @param ColumnPixelsLenth

    * @return

    */

    private String makeValueRight(String columnValue,Integer repaireStrLength){

    }

    /**

    * 获取用于填充的字符串

    * @param str

    * @param PixelsLenth

    * @return

    */

    private static String getRepairStr(char str,Integer PixelsLenth){

    }

    /**

    * 根据像素长度来切割字符串

    * @param str

    * @param PixelsLenth

    * @return

    */

    private static String subStrByPixels(String str,Integer PixelsLenth){

    }

    /**

    * 让列值对齐(左对齐OR居中OR右对齐)

    * @param columnValue

    * @param ColumnPixelsLenth

    * @return

    */

    private String makeValueAlign(String columnValue,Integer ColumnPixelsLenth){

    }

    /**

    * 设置列与列之间用什么间隔,默认是|

    * @param columnInterval

    */

    public void setColumnInterval(String columnInterval) {

    }

    /**

    * 设置列值最大长度,超过则用省略号代替

    * @param maxValueLenth

    */

    public void setMaxValueLenth(Integer maxValueLenth) {

    }

    /**

    * 如果不指定列长度Map,这里将自动计算

    * @param columnNameListTmp

    * @param columnValueListTmp

    * @param maxFieldValueLengthMapTmp

    */

    private void setMaxFieldValueLengthMap(List columnNameListTmp,List> columnValueListTmp,Map maxFieldValueLengthMapTmp) {

    }

    /**

    * 设置最多打印多少行

    * @param pringtTableRow

    */

    public void setPringtTableRow(Integer pringtTableRow) {

    }

    /**

    * 设置对齐方式

    * @param at

    */

    public void setAt(AlignType at) {

    }

    public enum AlignType {

    Left,

    Center,

    Rigth

    }

    }

    展开全文
  • java中让控制台输出彩色字符的方法,导入此jar包就可以实现啦
  • 1、e.printStackTrace()打印在哪里在catch中的e.printStackTrace()将打印到控制台2、e.printStackTrace()打印的内容是什么import org.apache.logging.log4j.Logger;public class ExceptionTest {private static ...
  • 主要介绍了java控制台输出百分比进度条示例,需要的朋友可以参考下
  • java控制台输出出现乱码怎么解决发布时间:2020-06-24 10:37:14来源:亿速云阅读:82作者:Leahjava控制台输出出现乱码怎么解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过...
  • 主要为大家详细介绍了java控制台打印本月的日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 使用Graphic打印出字符,而后读取其中的像素,再进行打印,只要是字库中有的字符,都可以将其放大并打印
  • Java】输出到控制台

    千次阅读 2022-04-25 12:10:26
    目录 基本语法 代码示例 格式化字符 基本语法 System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 ... print 的格式化输出方式和C语言的 printf 是...
  • java——控制台输入打印图形

    千次阅读 2021-03-14 21:44:05
    1. 打印直角三角形需求说明:从控制台输入直角三角形的高度(行数)。每行*的数目依次为1、3、5、7等。实现思路:外层循环控制行数,根据用户输入的行数得到外层循环条件分析每行打印的内容:每一行均打印*号,第i行的...
  • Java打印表格 Console/控制台

    千次阅读 2020-09-14 11:18:46
    功能: 控制台打印表格,支持字段动态长度,左对齐,设置最多打印多少行。 更多代码请参考具体类,下载链接:[https://download.csdn.net/download/qq_26599807/12840079]
  • JAVA控制台打印表格的工具类,链式调用,注释齐全。 支持自定义:表格对齐方式、是否等宽、左右边距、水平垂直交叉空白填充符,打印数据格式支持: Object[][] List《Object[]》 List《List《Object》》 List...
  • MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,下面给大家介绍Mybatis控制台打印Sql语句的实现代码,非常不错,感兴趣的朋友一起看下吧MyBatis简介MyBatis是一个支持普通SQL查询,存储过程和...
  • java控制台中看到的sql日志通常是如下的样子, Preparing: SELECT in (0,1) ORDER BY i.UPDATE_DATE_TIME DESC 2019-01-18 10:12:52,566 [DEBUG](org.apache.ibatis.logging.log4j.Log4jImpl.debug(Log4jImpl....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 156,983
精华内容 62,793
关键字:

java打印到控制台

java 订阅