java编程 如何将println输出的内容写入到txt文本中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程 如何将println输出的内容写入到txt文本中相关的知识,希望对你有一定的参考价值。
代码如下,如何将结果输出到txt文本中
public class fencisuanfa
public static void main(String[] args) throws IOException
String text="java编程 如何将println输出的内容写入到txt文本中" ;
//创建分词对象
Analyzer anal=new IKAnalyzer(true);
StringReader reader=new StringReader(text);
//分词
TokenStream ts=anal.tokenStream("", reader);
CharTermAttribute term=ts.getAttribute(CharTermAttribute.class);
//遍历分词数据
while(ts.incrementToken())
System.out.print(term.toString()+" ");
reader.close();
实现者加分!
跪求大神!
否则可以用
BufferedWriter out = new BufferedWriter(new FileWriter("out.txt"));
把 System.out.println(line);
改成
out.write(line+"\n")追问
加上这么一句后还是不行 该怎么修改呢
你把整个代码贴出来看看
追问在TokenStream ts=anal.tokenStream("", reader);
加一行String str = "";
把System.out.print(term.toString() + " ");
改成
str += term.toString() + " ";
把try里的那个term.toString() 改成str
具体该怎么弄呢 刚接触java 对流不是很清楚
是这样么
是的。
追问但是输出的文本是空白的
如何将控制台内容重定向到 Java 中的 textArea?
【中文标题】如何将控制台内容重定向到 Java 中的 textArea?【英文标题】:How to redirect console content to a textArea in Java? 【发布时间】:2011-07-03 17:15:16 【问题描述】:我正在尝试在 java 的 textArea 中获取控制台的内容。
例如,如果我们有这段代码,
class FirstApp
public static void main (String[] args)
System.out.println("Hello World");
我想将“Hello World”输出到 textArea,我必须选择什么 actionPerformed?
【问题讨论】:
【参考方案1】:我找到了这个简单的解决方案:
首先,你必须创建一个类来替换标准输出:
public class CustomOutputStream extends OutputStream
private JTextArea textArea;
public CustomOutputStream(JTextArea textArea)
this.textArea = textArea;
@Override
public void write(int b) throws IOException
// redirects data to the text area
textArea.append(String.valueOf((char)b));
// scrolls the text area to the end of data
textArea.setCaretPosition(textArea.getDocument().getLength());
// keeps the textArea up to date
textArea.update(textArea.getGraphics());
然后你替换标准如下:
JTextArea textArea = new JTextArea(50, 10);
PrintStream printStream = new PrintStream(new CustomOutputStream(textArea));
System.setOut(printStream);
System.setErr(printStream);
问题是所有的输出将只显示在文本区域。
带有示例的来源:http://www.codejava.net/java-se/swing/redirect-standard-output-streams-to-jtextarea
【讨论】:
这几乎是完美的,但是每当控制台输出时,textarea 就会闪现一堆。而不是追加,而是使用textArea.setText(textArea.getText() + String.valueOf((char)paramInt));
,它不会像原来的System.out
那样闪烁和流动。
您可能必须使用 SwingUtilities.invokeLater() 才能工作。【参考方案2】:
Message Console 显示了一种解决方案。
【讨论】:
【参考方案3】:like this http://img122.imageshack.us/img122/5692/dibujoof2.png
Create Java console inside a GUI panel
【讨论】:
【参考方案4】:您可以通过将System OutputStream
设置为PipedOutputStream
并将其连接到您从中读取的PipedInputStream
来将文本添加到您的组件,例如
PipedOutputStream pOut = new PipedOutputStream();
System.setOut(new PrintStream(pOut));
PipedInputStream pIn = new PipedInputStream(pOut);
BufferedReader reader = new BufferedReader(new InputStreamReader(pIn));
你看过下面的链接吗?如果没有,那么你必须。
Print to textArea instead of console in eclipse ? Redirecting all console o/p to GUI textbox Simple java console - Swing based【讨论】:
【参考方案5】:您必须将System.out
重定向到PrintStream
的自定义、可观察子类,以便添加到该流中的每个字符或行都可以更新 textArea 的内容(我猜,这是一个 AWT 或 Swing组件)
PrintStream
实例可以用ByteArrayOutputStream
创建,它会收集重定向的System.out
的输出
【讨论】:
以上是关于java编程 如何将println输出的内容写入到txt文本中的主要内容,如果未能解决你的问题,请参考以下文章
Java中的小问题:读出file1.txt的内容,输出到标准设备,验证写入的内容。