这个问题在之前几天就遇到了,但是没有深究,javac完了发现用java开始运行的时候:
找不到或无法加载主类xxxxxx。
后来就先不管了,今天在学习输入输出重定向的时候,一定要用到命令行了,没办法只能搞明白到底咋搞的。
首先百度了一下,看到别人在博客里写道把类最上面的package那行包信息删掉,然后用javac编译,然后再使用java命令运行是可以的。具体是参考https://blog.csdn.net/jisuanjiguoba/article/details/76254123的最后
然后我想那我一定要加上呢?参考了https://blog.csdn.net/weixin_30809333/article/details/98433346之后,我将其用自己的语言再记录一次。
首先是定位到你需要编译的java文件目录下,完成编译
C:\xxxxx...xxxx\src\com\croquette\date20210519>javac -encoding utf-8 ClassName.java
然后返回至src目录,即你的第一层包的上层目录,一般来说第一层是com吧,就是退回到com的上一层
然后再在src层使用java命令,类名为你编译的java类的全类名
C:\xxx...xxxx\src>java com.croquette.date20210519.ClassName
成功运行。
但是我还要输入重定向呢?最后在几次测试之后发现文件名也需要从com层开始,即:
C:\xxx...xxx\src>java com.croquette.date20210519.ClassName < com\croquette\date20210519\input.txt
最后是成功完成了输入重定向,输出重定向同理。