1老师我想问一下这里为什么要用到包装类
2这个parseint的作用是什么
3数组里面保存的不就是端口8888吗为什么要进行转换
这里带缓冲的read方法的返回值是读取到的字节数吗
public class CopyDirectory{ public static void main(String[] args) { copyDirectory(new File("G:\\电子大赛文件\\copyfile"),new File("D:\\copyfile")); } //复制文件夹的方法 public static void copyDirectory(File src,File dir) { if(!dir.exists()) dir.mkdir(); //目的地是否有dir目录, 没有就创建一个文件夹 File[] files = src.listFiles(); for(File file:files) { if(file.isFile()) { //如果当前File对象是文件 则直接进行拷贝文件 //new File(src +"\\" + file.getName()) 通过构造方法,创建每一个文件(目录)对象 copyFile(new File(src +"\\" + file.getName()),new File(dir +"\\" + file.getName())); }else { //如果当前File对象是目录 通过递归调用 实现多层级复制 copyDirectory(new File(src +"\\" + file.getName()),new File(dir +"\\" + file.getName())); } } } //复制一个文件 /** * @param src * @param dir */ public static void copyFile(File src,File dir) { BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream(src)); bos = new BufferedOutputStream(new FileOutputStream(dir)); byte[] b = new byte[1024]; // 创建byte数组的中转站,缓存为1024byte int len; // 接受read()方法的返回值 while((len = bis.read(b)) != -1) { bos.write(b); //写出byte数组的数据 bos.flush(); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(bos == null) { try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(bis == null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
老师,在复制文件的代码中,对于
while((len = bis.read(b)) != -1) {
bos.write(b);
bos.flush();
}
如果循环条件写成 while(len = bis.read(b) != -1) { }程序会报错。java程序的执行顺序是 从左到右、从上到下。去掉括号不影响程序执行顺序啊,为什么就会报错呢?
老师你好,在测试的时候出现了错误,请您帮忙看一下
错误截图
源码
package server; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.Charset; import IOCloseUtil.IOCloseUtil; import Servlet.Servlet; public class Server {//用于服务器的启动与停止 private ServerSocket server; public static void main(String[] args) { Server server = new Server(); server.start(); } public void start() { this.start(8888); } public void start(int port) { try { server = new ServerSocket(port); this.receive(); } catch (IOException e) { e.printStackTrace(); } } private void receive() { try { //监听 Socket client = server.accept(); /**封装请求信息*/ Request req = new Request(client.getInputStream()); /**做出响应*/ /* StringBuilder sb = new StringBuilder(); sb.append("HTTP/1.1").append(" ").append(200).append(" ").append("ok").append("\r\n"); sb.append("Content-type:text/html;charset=utf-8").append("\r\n"); //内容 String str="<html><head><title>响应结果</title></head><body>成功<body></html>"; sb.append("Content-Length:"+str.getBytes("utf-8").length).append("\r\n"); sb.append("\r\n"); sb.append(str); //通过输出流发送出去 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close(); */ Response rep = new Response(client.getOutputStream()); Servlet servlet = WebApps.getServlet(req.getUrl()); int code =200; if(servlet==null) { //servlet未创建成功 code = 404; } //调用Servlet中服务的方法 try { servlet.service(req, rep); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } rep.PushToClient(code); IOCloseUtil.closeAll(client); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
问题:
线程池里,一个线程对象和正常执行不使用多线程的效率差就只有创建和销毁吗。
我目前理解是正常写的一个程序就算一个线程。
后面怎么不是高老师讲了,感觉换老师很难受
老师macOS系统下载这个工具包要怎么下载啊
这里temp是int类型,为什么不用强转成char类型?
老师,这个 String itbz = 你是怎么一下就出来的,我看视频你打完 iGeneric1.getName("ITBZ"),然后不知道你怎么操作的,前面的 String itbz = 一下就出来了
Object next(); //返回游标当前位置的下一个元素并将游标移动到下一个位置;
Object next();
应该是返回游标当前位置的元素并将游标移动到下一个位置吧?
MyArrayList01 my = new MyArrayList01(); my.add("123"); my.add("String"); my.add("你好"); System.out.println(Arrays.toString(my));
为什么不能用Arrays.toString(my)遍历
老师,Schema技术比DTD强大,DTD是否只需要了解即可?
问题点:
什么原因导致死锁,而打印前面的就应该结束,为什么会打印“有钱等水”2.2;
package cn.sxt.thread7; public class TestDeadLock1 { public static void main(String[]args){ Object money = new Object(); Object water = new Object(); DeadLock d2 = new DeadLock(money,water); DeadLock d1 = new DeadLock(money,water); d1.flag = true; d2.flag = false; d1.start(); d2.start(); } } class DeadLock extends Thread{ private Object money; private Object water; boolean flag;//标识持有对象 public DeadLock(Object money, Object water) { super(); this.money = money; this.water = water; } public DeadLock() { super(); // TODO Auto-generated constructor stub } @Override public void run() { if(flag){ synchronized (money){ System.out.println("有钱等水"); System.out.println(1.1); try { Thread.sleep(300); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } synchronized (water){ System.out.println("有水等钱"); System.out.println(2.1); } } }else{ synchronized (water){ System.out.println("有水等钱"); System.out.println(2.2); try { Thread.sleep(300); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } synchronized (money){ System.out.println("有钱等水"); System.out.println(1.2); } } } } }
老师 我根据自己的理解画了个草图看看对不对
2019-05-06_设计模式-装饰器.png
那HashMap键值的底层结构是什么样的
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637