在JAVA中如何编写代码清空控制台里的东西

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JAVA中如何编写代码清空控制台里的东西相关的知识,希望对你有一定的参考价值。

  java没有清空的方法。
  可以使用替代的方法:通过输出空行,达到清屏。例如:
  for(int i=0;i<400;i++)
System.out.println("");//输出400行空行

  其实输出的是你自己想看的,不想输出就不会显示。
如果你想把已经输出的控制台让他空掉的话,随便写个类里面输出System.out.print("");
不过这样是多此一举,因为你下面要进行其他代码的调试编译时是不会受到之前的消息的影响的
参考技术A 你可以多打空行,System.out.println(); for(int i=0;i<30;i++)System.out.println();这样比较简单 参考技术B 你可以使用另一种方法,在控制台 鼠标右键+R 就是清空控制台输出的东西

如何在VB中编写自动下载代码?

现在我正在尝试编写一个能够从特定网站下载文件的工具,除了其他一些东西。

我目前的解决方案是,我打开网站,从Internet Explorer中下载文件,等待几秒钟,以便可以加载网站,然后发送一个按键到Internet Explorer,即ALT + S,将文件保存到标准下载位置。

但是,我的代码在应该发送击键的行中失败。你会发现它当然低于它抛出的错误。


我相信你会发现一些有用的事实:

  • 我的应用程序将是一个控制台应用程序,没有表单应用
  • 我正在使用Internet Explorer,因此我可以确定该应用程序适用于每台Windows PC
  • 我希望Internet Explorer具有默认配置,用于下载要设置为“用户提示”的文件,即它询问是否应该打开或保存文件
  • 您将在下面的代码中看到该网站是第三方网站,因此我无法直接访问服务器上托管的文件

我特别想知道的是:

  • 我能以某种方式更智能地解决这个问题吗?下载文件还有其他比我更简单的方法吗?
  • 如何让我的应用程序等待加载网站,甚至等待“打开 - 保存 - 取消”提示出现?
  • 如何让“SendKeys”部分正常工作?

最重要的是:请注意,我是一个业余爱好程序员,几周前刚刚开始使用VB。如果我错过了一些重要信息或我的代码看起来很奇怪,那么这就是为什么:)


Sub Download()

    Dim IE As Object
    IE = CreateObject("InternetExplorer.Application")

    Console.WriteLine("Start Download")
    IE.Navigate("https://toolslib.net/downloads/finish/1-adwcleaner/") 'Opens the website in Internet Explorer
    Do 'Waits for Internet Explorer to be launched before going on
        If CBool(Process.GetProcesses.Where(Function(P As Process) _ 
                 P.ProcessName = "iexplore").Count) Then
            Exit Do
        End If
        Threading.Thread.Sleep(100)
    Loop
    IE.Visible = True

    Threading.Thread.Sleep(5000) 'Some time for the website to load
    IE.SendKeys("%{S}", True)

End Sub

运行此代码时,它会引发以下错误。

Note: Line 67 is the line where IE.SendKeys("%{S}", True) stands.

Unhandled Exception: System.ArgumentException: The process {0} wasn't found.
   at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
   bei Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
   at MyApp.Module1.Download() in C:UsersUserDocumentsVisual Studio 2017ProjectsMyAppMyAppModule1.vb:Line 67.
答案

我在表单应用程序中使用了WebBrowser控件,它工作得很好!

                SendKeys.Send("+{TAB}")
                System.Threading.Thread.Sleep(1000)
                SendKeys.Send("{ENTER}")

以上是关于在JAVA中如何编写代码清空控制台里的东西的主要内容,如果未能解决你的问题,请参考以下文章

java里的swing界面里面的表格如何清空啊?

如何用Java编写一段代码引发内存泄露

如何在使用 1.6 运行基本代码时使用 Java 1.7 编写 Junit

如何从Java代码编写乐观和悲观锁定

如何编写优雅的异步代码 — CompletableFuture

盒子模型2+浮动