老师,输入信息之后,服务器把协议头包括内容全都传回来了,中文的还是乱码,检查了代码都写utf-8,这种情况大致会是哪里的代码出问题。
idea怎么直接生成序列化版本号呢
package object; import java.io.*; import java.util.ArrayList; public class TestClasses { public static void main(String[] args) throws IOException { // write(); read(); } public static void write() throws IOException { //创建班级对象 ArrayList<Student> al = new ArrayList<Student>(); al.add(new Student("marry", 20, "88888888888")); al.add(new Student("lili", 21, "123456")); al.add(new Student("jack", 22, "654321")); Classes cl = new Classes("JN101", al); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("e:/classes.txt")); oos.writeObject(cl); oos.close(); } public static void read() { ObjectInputStream ois = null; try { ois = new ObjectInputStream(new FileInputStream("e:/classes.txt")); Classes cl2 = (Classes) ois.readObject(); System.out.println(cl2.getClassName()+"\t"+cl2.getAl()); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { try { if (ois != null) { ois.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
这里如果读入的时候不这么写
System.out.println(cl2.getClassName()+"\t"+cl2.getAl());
而是在classes类中写toString方法就会产生异常为什么
第16行写的方法 可以直接写fos.write(buf)吗 这些写和读的方法有点乱啊
while(!"over".equals((line=br.readLine()))){ bw.write(line); bw.newLine(); bw.flush(); }
这个while语句中 这个比较方法前加个!什么意思呢
还有就是视频中复制一个文件和复制一个文件夹下的文件,之间有什么逻辑关系?有些搞不清。因为在复制整个文件夹文件的时候是调用了,复制一个文件的copyFile().
老师好,这个程序里面小写的file到底是什么意思。我的理解里面就是一个变量的名称,为什么在代码中进行一直使用呢(file.getName)就表示文件名,是有什么其他的意思么?(整个程序是没有错误的,正常运行的)下面是我问题的地方和我的代码
package com.io; import java.io.*; public class TestCopy { public static void main(String[]args){ /**File srcFile =new File("/Users/pain_/Downloads/world.docx"); File targetFile =new File("/Users/pain_/Desktop/world.docx"); //调用复制文件的方法 cpoyFile(srcFile,targetFile); */ File srcDir =new File("/Users/pain_/Downloads/xyyyy"); File targetDir =new File("/Users/pain_/Desktop/xyyyy"); copyDir(srcDir,targetDir); } public static void copyDir(File srcDir,File targetDir){ //判断目的地文件是否存在通过exists() if(!targetDir.exists()){ targetDir.mkdir();//如果目的地不存在,需要使用File类的mkdir()方法进行创建目录 } //list()方法是返回某个目录下的所有文件和目录的文件名,返回的是String数组 //listFiles()方法是返回某个目录下所有文件和目录的绝对路径,返回的是File数组 File[] files = srcDir.listFiles(); //加强for循环 //for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 for(File file:files) { if (file.isFile()) { //是文件复制,目录先不管,需要复制srcDir的目录下的指定文件的具体的文件 copyFile(new File(srcDir + "/" + file.getName()), new File(targetDir + "/" + file.getName())); }else{ //继续调用该方法,使用递归实现 copyDir(new File(srcDir + "/" + file.getName()), new File(targetDir + "/" + file.getName())); } } } public static void copyFile(File srcFile, File targetFile){ //提高读取效率,从数据源 BufferedInputStream bis = null; BufferedOutputStream bos = null; try { bis = new BufferedInputStream(new FileInputStream(srcFile)); //提高读取效率,写到目的地 bos = new BufferedOutputStream(new FileOutputStream(targetFile)); //边读边写 byte [] buf =new byte[1024];//中转站 int len =0;//用于存储读到的字节的个数 while((len=bis.read(buf))!=-1){ bos.write(buf,0,len); } } catch (IOException e) { e.printStackTrace(); }finally { //关闭 if(bos!=null) { try { bos.close(); } catch (IOException e) { e.printStackTrace(); } }if(bis!=null){ try { bis.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
老师为什么数字太多了会显示乱码?或者是添加空格都是乱码
为什么第26行,手动刷新的flush方法是bos的
不要让两个对象同时持有对象锁,采用互斥方式来解决 视频里的这句话我不是特别理解,不要让两个对象,哪两个对象?线程对象吗?互斥方式具体指的是什么?
我不太明白,服务端线程中,这个变量的意义
private boolean flag = true; //如果流出现异常,程序还需要继续
老师,TreeMap的底层实现好难理解,听不懂啊
我建议在最后删除头和尾那块,指向区域画好一点吧,后面都看不到懂指向哪了
用字符串输出会出错
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637