在这篇文章中,我们将为您详细介绍使用System.out和PrintWriter写入控制台的内容,并且讨论关于system.out.write的相关问题。此外,我们还会涉及一些关于console.wr
在这篇文章中,我们将为您详细介绍使用System.out和PrintWriter写入控制台的内容,并且讨论关于system.out.write的相关问题。此外,我们还会涉及一些关于console.writeline和System.out.println、FileWrite BufferedWriter和PrintWriter结合、Java EE中的JspWriter和PrintWriter之间的区别?、java – ObjectOutputStream和PrintWriter冲突的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 使用System.out和PrintWriter写入控制台(system.out.write)
- console.writeline和System.out.println
- FileWrite BufferedWriter和PrintWriter结合
- Java EE中的JspWriter和PrintWriter之间的区别?
- java – ObjectOutputStream和PrintWriter冲突
使用System.out和PrintWriter写入控制台(system.out.write)
在阅读有关Java I / O的知识时,我意识到可以通过两种方式写入标准输出。
以下是同时使用这两种技术的代码段
import java.io.*;public class ConsoleIO { public static void main(String[] args) { System.out.println("Method 1"); PrintWriter writer = new PrintWriter(System.out); writer.println("Method 2"); writer.flush(); writer.close(); }}
相对于其他使用,是否有任何性能优势?
答案1
小编典典一个快速的Google透露了Coderanch上的一个线程很有用。
还有其他几种进行控制台编写的方法,但是除了编写更少的代码外,使用一种或另一种似乎没有真正的好处,而且创建新的PrintWriter对象最终会占用更多的内存。
PrintWriter不仅可以写入控制台中的内容,还可以写入其他源代码;例如,System.out.println仅写入控制台时,它可以写入HttpResponse。
console.writeline和System.out.println
console.writeline
和之间的技术区别到底是什么System.out.println
?我知道这会System.out.println
写入标准输出,但这与控制台不同吗?
我不完全理解的文档进行console.writeline
。
FileWrite BufferedWriter和PrintWriter结合
好的,所以我正在学习I /
O,并且在其中一张幻灯片中找到了以下代码。有人可以解释一下为什么需要FileWrite,BufferedWriter和PrintWriter吗?我知道BufferedWriter将缓冲输出并将其全部放入,但是为什么他们要使用FileWriter和PrintWriter?他们在错误处理等方面做得差不多吗?
而且为什么他们传递bw
到PrintWriter
?
FileWriter fw = new FileWriter (file); BufferedWriter bw = new BufferedWriter (fw); PrintWriter outFile = new PrintWriter (bw);
答案1
小编典典大概他们之所以使用a是FileWriter
因为他们想写入文件。双方BufferedWriter
并PrintWriter
必须得到另一位作家写-
你需要 一些 最终目的地。
(我个人不喜欢,FileWriter
因为它不允许您指定编码。我更喜欢使用FileOutputStream
包裹在中OutputStreamWriter
,但这是另一回事。)
BufferedWriter
如您所说,它用于缓冲-尽管它不缓冲 所有 输出,但只是固定数量的输出(缓冲的大小)。它会向底层作者创建“
chunkier”写入。
至于-
well的用法PrintWriter
,它公开了一些额外的方法,例如println
。我个人不喜欢它,因为它会吞下异常(您必须使用进行显式检查checkError
,但仍然无法提供详细信息,而且我认为我
从未 见过使用过它),但这又取决于您在做什么。该PrintWriter
传递的BufferedWriter
为 它的 目的地。
因此,您所显示的部分下面的代码可能PrintWriter
会写入,将写入BufferedWriter
,将(在其缓冲区已满,或者刷新或关闭时)写入FileWriter
,进而将字符数据转换为磁盘上的字节。
Java EE中的JspWriter和PrintWriter之间的区别?
为了你的“重复”的狂热分子,对这样的权利类似的问题在这里。所不同的是,我描绘了一个我无法理解其输出的生动示例。
JspWriter和PrintWriter的文档说有两个区别:
1. JspWriter可以引发异常,而PrintWriter不应这样做。 2.
JspWriter在幕后使用PrintWriter,但是由于默认情况下JSP页面被缓冲,因此PrintWriter直到the buffer is
flushed
-在JSP页面上下文中意味着什么才创建。我不确定我是否了解这最后一部分。考虑以下JSP页面:
<%@page import="java.io.PrintWriter"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JspWriter versus PrintWriter</title>
</head>
<body>
<p>I should be row one.</p>
<%
out.println("<p>JspWriter said: I should be the second row.</p>");
PrintWriter pw = response.getWriter();
pw.println("<p>PrintWriter said: I should be the third row.</p>");
%>
<p>I should be the fourth row.</p>
</body>
</html>
它产生以下输出:
PrintWriter said: I should be the third row.
I should be row one.
JspWriter said: I should be the second row.
I should be the fourth row.
如您所见,JspWriter会将他的字符串输出到我期望的浏览器中。但是PrintWriter在将所有其他字符串发送到浏览器之前先输出其字符串。如果我们检查发送到浏览器的源代码,则在DOCTYPE声明之前,将PrintWriter的字符串作为第一行发送。因此,在上面的示例中,究竟发生了什么?
java – ObjectOutputStream和PrintWriter冲突
我有服务器和客户端设置,这基本上是一个基本的文本电子邮件系统.我目前正在使用PrintWriter在服务器和客户端之间发送文本.我正在尝试创建一个基于附件的系统,为此我正在使用ObjectOutputStream.
private static PrintWriter output;
private static ObjectOutputStream outStream;
public ClientHandler(Socket socket) throws IOException
{
client = socket;
outStream = new ObjectOutputStream(client.getoutputStream());
input = new Scanner(client.getInputStream());
output = new PrintWriter(client.getoutputStream(),true);
}
我目前遇到的问题是,如果我尝试通过输出打印机发送文本,由于某种原因,额外的字符将被添加到发送的文本的开头,这意味着程序无法识别通过打印机传递给客户端的关键字.如果我注释掉outStream对象的创建,问题就会停止.
谁能给我任何建议来尝试解决这个冲突问题?
将ObjectOutputStream和PrintStream附加到同一输出流基本上是永远不会起作用的.您必须提出使用1或其他的解决方案.要仅使用PrintStream,您可以考虑将对象转换为JSON或XML.另一方面,您可以使用ObjectOutputStream并将您的字符串写入ObjectOutputStream
关于使用System.out和PrintWriter写入控制台和system.out.write的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于console.writeline和System.out.println、FileWrite BufferedWriter和PrintWriter结合、Java EE中的JspWriter和PrintWriter之间的区别?、java – ObjectOutputStream和PrintWriter冲突的相关信息,请在本站寻找。
本文标签: