老师你好,视频里面copyDir方法里面,当targetDir不存在时,执行如下代码创建targetDir目录
if(!targetDir.exist()){
targetDir.mkdir(); }
然后测试了一下,当targetDir比srcDir目录层数多时,
targetDir.mkdir();这句话并没有生效, targetDir还是不存在
是否可以理解为mkdir()方法只能创建根目录下的目录?
后来更改为:
targetDir.mkdirs();
可以创建多级目录,程序也能执行当源和目的地的目录层数不一致的情况。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; class Send1 extends Thread{ private Socket socket; private Scanner scanner; public Send1(Socket socket,Scanner scanner){ this.scanner=scanner; this.socket=socket; } public void run(){ this.sendMsg(); } private void sendMsg(){ try(PrintWriter pw=new PrintWriter(this.socket.getOutputStream()) ){ while (true){ String msg=scanner.nextLine(); pw.println(msg); pw.flush(); } }catch (Exception w){ w.printStackTrace(); } } } class Receive1 extends Thread{ private Socket socket; public Receive1(Socket socket){ this.socket=socket; } public void Run(){ this.receiveMsg(); } private void receiveMsg(){ try( BufferedReader br=new BufferedReader(new InputStreamReader(this.socket.getInputStream()))){ while (true){ String mag=br.readLine(); System.out.println("他说:"+mag); } }catch (Exception e){ e.printStackTrace(); } } } public class GoodTCP { public static void main(String[] args) { ServerSocket serverSocket=null; Socket socket=null; Scanner scanner=null; try{ scanner=new Scanner(System.in); System.out.println("输入:server,<port>或者:<ip>,<port>"); String str=scanner.nextLine(); String[] arr = str.split(","); if ("server".equals(arr[0])){ //启动服务端 System.out.println("TCP Server Listen at"+arr[1]+".........."); serverSocket=new ServerSocket(Integer.parseInt(arr[1])); socket=serverSocket.accept(); }else{ socket=new Socket(arr[0],Integer.parseInt(arr[1])); System.out.println("连接成功"); } new Send1(socket,scanner).start(); new Receive1(socket).start(); }catch (Exception e){ e.printStackTrace(); }finally { if(serverSocket!=null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
可以正常运行,就是两个窗口,连接不到一块
一上午一个问题接着一个问题,刚开始的问题,换tomcat版本,修改文件权限,改端口,检查环境变量配置问题,基本都解决了,但这最后一个jsp的问题,查了很多都不知道原因在哪,网上出现这个问题的都是用到了spring框架一些问题,但我都没配置过这些东西,老师能否费心(因为我用两个版本都试了试,所以会出现上面截图是8.5版本,下面截图是7版本,但遇到的问题都是一样的问题,还时不时跳出404界面)
老师,我想问一下,为什么这里第三层的节点是黑色的,不是只有根节点和为空的叶子节点才能为黑色吗,为什么第三层是黑色的而第二层却是红色的。
老师我想知道这三个变量具体分别都表示了什么?
老师您好,我想请问 是否可以把Map中容器的元素理解为自带名字(键)的值?这个键的描述听起来很像下标啊
老师,foreach中不是需要传入一个consumer对象么,为什么直接传入System.out的方法也可以呢
老师这三个方法有什么区别吗?,哪个比较常用
为什么他不是-1
com.itbaizhan.SocketDemo; java.io.BufferedReader; java.io.InputStreamReader; java.io.PrintWriter; java.net.ServerSocket; java.net.Socket; java.util.Scanner; Send1 Thread{ Socket ; Scanner ; Send1(Socket socket,Scanner scanner){ .=scanner; .=socket; } run() { .SendMsg(); } SendMsg(){ (PrintWriter pw=PrintWriter(.getOutputStream());){ (){ String msg=.nextLine(); pw.println(msg); pw.flush(); } } (Exception e){ e.printStackTrace();} } } Receive1 Thread{ Socket ; Receive1(Socket socket){ .=socket; } run() { .receiveMsg(); } receiveMsg(){ (BufferedReader br=BufferedReader( InputStreamReader(.getInputStream())); ){ (){ String msg=br.readLine(); System..println(+msg); } } (Exception e){ e.printStackTrace();} } } GoodTCP { main(String[] args) { ServerSocket serverSocket=; Socket socket=; { Scanner scanner=Scanner(System.); System..println(); String str= scanner.nextLine(); String[] arr=str.split(); String[] split=str.split(); (.equals(arr[])){ System..println(+arr[]+); serverSocket =ServerSocket(Integer.(arr[])); socket = serverSocket.accept(); }{ socket =Socket(arr[],Integer.(arr[])); System..println(); } Send1(socket,scanner).start(); Receive1(socket).start(); } (Exception e){ e.printStackTrace(); }{ (serverSocket!=){ { serverSocket.close(); }(Exception e){ e.printStackTrace(); } } } } }
com.itbaizhan.SocketDemo; java.io.BufferedReader; java.io.InputStreamReader; java.io.PrintWriter; java.net.ServerSocket; java.net.Socket; Msg Thread{ Socket ; Msg(Socket socket){ .= socket; } run() { .msg(); } msg(){ (BufferedReader br = BufferedReader(InputStreamReader(..getInputStream())); PrintWriter pw = PrintWriter(..getOutputStream())){ (){ pw.println(br.readLine()+); pw.flush(); } }(Exception e){ e.printStackTrace(); System..println(..getInetAddress()+); } } } EchoServer { main(String[] args) { (ServerSocket serverSocket = ServerSocket()){ (){ Socket socket = serverSocket.accept(); Msg(socket).start(); } }(Exception e){ e.printStackTrace(); } } }
不知道为什么会报错,代码运行没问题。
public int menuItemValidate (int min, int max ){ //定义验证菜单项的正则表达式 String regex = "[1-9]{1}"; //创建键盘输入对象 Scanner scanner = new Scanner(System.in); while(true){ System.out.println("请输入正确数字,最小是:"+min+"\t"+"最大是:"+max); String input = scanner.nextLine(); if(input.matches(regex)){ int inputNum = Integer.parseInt(input); if(inputNum >= min && inputNum <= max){ return inputNum; }else{ System.out.println("您输入的菜单项不符,请重新输入!"); } }else{ System.out.println("输入数字错误,请检查!"); } } }
这个只能判断是否正确没法确定是因为长度还是内容错的呀,他只是返回boolean
if(input.matches(regex)){
所以只要这个正确那么他输入就一定是正确的,可以直接返回的里面写的都是多余的了。
老师,我的eclipse本来就有源码,但好像不对,这种情况如何导入新的源码?
怎么把schema文件引进来的?xmlns:xs="http://www.w3.org/2001/XMLSchema",是吧这个复制到根目录后边?
视频里引入的怎么是xmlns:xsi="http://www.w3.org/2001/XMLSchema";xs后边加个i什么意思,还有引入到xml文件,xml文件还写DTD吗,视频里xml文件里还有DTD呢?加了DTD是不是已经验证成功了,引入schema是不是得把DTD的内容删除再验证啊。。。。
xml文件黄色感叹号,右键validate没有反应,没有生成dtd
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637