Tag: ansi

命令行解释器如何工作?

我一直认为操作系统上的进程有三个标准流: stdin, stdout, and stderr 。 我还认为像vim这样的文本编辑通过stdin并在stdout发送ANSI转义字符来工作。 但是,我对命令行解释器如何在这一案例中没有提到的观点如下: 当我运行命令C:\cygwin\bin\bash.exe ,系统会提示我: Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\masson>C:\cygwin\bin\bash.exe bash-3.2$ …但是当我使用以下代码段在Java中运行它时,stdin流为空: ProcessBuilder pb = new ProcessBuilder(“C:\\cygwin\\bin\\bash.exe”); pb.redirectErrorStream(true); Process proc = pb.start(); final InputStream in = proc.getInputStream(); new Thread(new Runnable() { public void run() { // Blocks forever… in.read(new byte[1024]); } }).start(); […]

以ANSI格式读写文本

请查看以下代码 import java.io.*; public class CSVConverter { private File csvFile; private BufferedReader reader; private StringBuffer strBuffer; private BufferedWriter writer; int startNumber = 0; private String strString[]; public CSVConverter(String location, int startNumber) { csvFile = new File(location); strBuffer = new StringBuffer(“”); this.startNumber = startNumber; //Read try { reader = new BufferedReader(new FileReader(csvFile)); String line = “”; […]