草庐IT

java - Java 8 中的 "System.out::println"有什么用

这个问题在这里已经有了答案:::(doublecolon)operatorinJava8(17个回答)关闭7年前。我在java8中看到了一个迭代集合的代码。Listnumbers=Arrays.asList(1,2,3,4,5,6);numbers.forEach(System.out::println);System.out::println的功能是什么?以及上面的代码如何遍历列表。以及运算符::有什么用,还有什么地方可以使用这个运算符? 最佳答案 它被称为“方法引用”,它是如下表达式的语法糖:numbers.forEach(x-

java.sql.SQLException:索引处缺少 IN 或 OUT 参数::1

我制作了一些Java1.6-Oracle11g-JDBC(使用OJDBC6)代码(如下)。我遇到异常-java.sql.SQLException:MissingINorOUTparameteratindex::1为什么会发生这种情况,我该如何解决?我的输出是-createCREATETABLEemployee(emp_namevarchar(25),emp_addressvarchar(25))insertINSERTINTOemployee(jim,germany)values(?,?)Exception:java.sql.SQLException:MissingINorOUTpar

java - 使用 System.out 和 PrintWriter 写入控制台

在阅读JavaI/O时,我意识到有两种方法可以写入标准输出。以下是使用这两种技术的片段importjava.io.*;publicclassConsoleIO{publicstaticvoidmain(String[]args){System.out.println("Method1");PrintWriterwriter=newPrintWriter(System.out);writer.println("Method2");writer.flush();writer.close();}}使用其中一种是否有任何性能优势? 最佳答案

Java URL 连接 : how can I find out the size of a web file?

我正在为学校做一个项目,我正在实现一个可用于从网络下载文件的工具(带有限制选项)。问题是,我将有一个GUI,我将使用一个JProgressBar小部件,我想显示下载的当前进度。为此,我需要知道文件的大小。在下载文件之前如何获取文件的大小。 最佳答案 假定任何HTTP响应都包含Content-Lengthheader,因此您可以查询URLConnection对象以获取此值。//oncetheconnectionhasbeenopenedListvalues=urlConnection.getHeaderFields().get("co

java - 重定向 System.out.println

我的应用程序有许多System.out.println()语句。我想从println捕获消息并将它们发送到标准记录器(Log4j、JUL等)。怎么做? 最佳答案 System类有一个setOut和setErr可用于将输出流更改为,例如,带有支持File的新PrintStream,或者在这种情况下,可能是另一个使用您的日志子系统的流选择。请记住,如果您将日志库配置为输出到标准输出或错误(可能是无限递归类型),您很可能会遇到麻烦。如果是这种情况,您可能只想将System.out.print类型的语句替换为真正的日志记录调用。

java - 为什么我不能导入静态 java.lang.System.out.println?

当我可以导入静态java.lang.Math.abs时,我无法导入静态java.lang.System.out.println,这似乎很奇怪。这背后有什么原因,还是我在做一些我目前看不到的非常愚蠢的事情?(使用Eclipse。) 最佳答案 Math是一个类,abs是一个静态方法。System.out是一个静态字段而不是一个类。所以它的println方法实际上并不是静态方法,而是静态字段上的实例方法。 关于java-为什么我不能导入静态java.lang.System.out.printl

java - System.out.println() 和 System.err.println() 之间的区别

System.out.println()和System.err.println()在Java中有什么区别? 最佳答案 在Java中System.out.println()将打印到您正在使用的系统的标准输出。另一方面,System.err.println()将打印到标准错误。如果您使用的是简单的Java控制台应用程序,两个输出将是相同的(命令行或控制台),但您可以重新配置流,例如,System.out仍会打印到控制台,但System.err写入文件。此外,Eclipse等IDE默认以红色文本显示System.err,以黑色文本显示Sy

java - System.out 到 java 中的文件

出于测试目的,我正在从另一个应用程序内部运行一个应用程序。我想将测试应用程序的输出重定向到一个文件,这样我就可以在每次测试后都有一个日志。有没有办法将应用程序的输出从java的命令行重定向到文件? 最佳答案 您可以使用Windows命令行支持的输出流重定向器,例如*nixshellsjava-jarmyjar.jar>output.txt或者,当您从vm内部运行应用程序时,您可以从java本身重定向System.out。你可以使用方法System.setOut(PrintStreamps)它替换了标准输出流,因此对System.ou

java - 不要在服务器端代码中使用 System.out.println

我听说使用System.out.println进行日志记录是一种非常糟糕的做法,这可能会导致服务器出现故障。我不使用这种方法,但我很想知道为什么System.out.println在后端代码中使用时会产生如此垃圾的东西。 最佳答案 System.out.println是一个IO操作,因此非常耗时。在代码中使用它的问题是,您的程序将等到println完成。对于小型网站,这可能不是问题,但一旦加载或多次迭代,您就会感到痛苦。更好的方法是使用日志框架。他们使用消息队列并且仅在没有其他输出时才写入。另一个好处是您可以为不同的目的配置单独的日

java - 何时/为什么在 Java 中调用 System.out.flush()

为什么需要刷新某些流(FileOutputStream和来自Sockets的流)而标准输出流不需要?每次有人使用System.outPrintStream对象时,无论是在调用println()还是write(),他们从不刷新流。但是,其他程序员习惯性地将flush()称为PrintStream/PrintWriter与其他流。我最近向几位程序员提出了这个问题,有些人认为Java中有一些后台处理可以自动刷新System.out流,但我找不到任何相关文档.这样的事情让我想知道简单地调用System.out.println()是否与平台无关,因为某些系统可能需要您刷新流。