package com.bjsxt; import java.io.*; import java.util.ArrayList; import java.util.List; public class ObjectStreamObjectTypeDemo { public void ObjectOutputStreamObjectTypeDem(List<Person> list) { ObjectOutputStream oos = null; List<Person> list1 = new ArrayList<>(); try { oos = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("J:\\课堂练习\\课程目录\\01.02JAVA入门与深化提高\\智能电话本项目实战\\电话簿.txt"))); for (int i = 0; i < list.size(); i++) { list1.add(list.get(i)); } oos.writeObject(list1); oos.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (oos != null) { oos.close(); } } catch (Exception e) { e.printStackTrace(); } } } public List<Person> ObjectInputStreamObjectTypeDemo(List<Person> list) { ObjectInputStream ois = null; List<Person> ls = null; try { ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream("J:\\课堂练习\\课程目录\\01.02JAVA入门与深化提高\\智能电话本项目实战\\电话簿.txt"))); ls = (List<Person>) ois.readObject(); for(int i = 0;i<ls.size();i++){ list.add(ls.get(i)); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (ois != null) { ois.close(); } } catch (Exception e) { e.printStackTrace(); } } return list; } }
老师的课堂作业,我写了一个类,然后在Operate 类中加了两个方法,一个是在退出时调用类下的方法 将list 遍历到自定义的数组然后将数组序列化到本地文件,
public void exit(){ ObjectStreamObjectTypeDemo os = new ObjectStreamObjectTypeDemo(); os.ObjectOutputStreamObjectTypeDem(this.list); System.exit(0);; }
一个是初始化,运行项目时就调用类下的方法将文件的内容读到自定义数组 然后遍历给list,
/** * 传入电话薄 */ public void Initialize(){ ObjectStreamObjectTypeDemo os = new ObjectStreamObjectTypeDemo(); os.ObjectInputStreamObjectTypeDemo(this.list); }
不知道对不对,功能可以实现。就是我给的都是绝度路径,不知道怎么设定为相对路径,不知道制作成Jar包,能不能用
关于二进制和十进制在java中的转化问题:
如下算法代码:
public class Solution { // you need treat n as an unsigned value public int reverseBits(int n) { int count= 0; int res=0; while (count<32){ res<<=1; if( (n&1) == 1 ) res=res+1; n>>=1; count++; } return res; } }
在测试算法时候,
输入:
00000010100101000001111010011100
输出:
964176192 (00111001011110000010100101000000)
我这里不太懂,算法本身定义 n和res都是int类型。
那么为什么输入一个int类型的n,这里会把识别做二进制,而不是十进制呢?
输出也是同样的问题,这里输出值res也定义为int,括号外输出的是10进制,括号内则给出类对应的二进制。
所以这里不太懂,java底层是如何识别输入的int数值应该是十进制还是二进制的。谢谢
老师为什么我用管理员登录,可以显示菜单栏。用客户人员登录,就不像是菜单栏了
老师,我这个地方报错说必须按按照顺序来,可是顺序对了吧
老师,Servlet_通过自启动Servlet实现配置信息的读取,是讲了两种方式进行读取吗?
方式一是ServletConfig对象读取路径的参数,调用getInitparameter("key")方法。方式二是ServletContext对象调用getInitparameterNames()。
然后视频里是在AutoStartServlet中用方法一把拿到的value值放到全局容器里,再在DownFileServlet中用方法二把拿到的value值放到全局容器里,最后再做路径的拼接,不知道我理解的对不对
老师我想请问一下 这个是浏览器访问servlet资源的过程是怎样的这个demo代表的路经是什么? getInfo.do 代表的路劲又是什么???
为什么那个方法没有出现在user类里面,另外一个又在里面?
老师这个报错是什么意思呀,怎么解决,我对了老师的代码没有问题但是还是报这个500的错误,百度了但是看不懂哪里出的问题
老师,这个文档在哪啊?我没在文档里面找到
pw = new PrintWriter(socket.getOutputStream());
老师PrintWriter可以直接将字节流转为字符流,不需要借助转换流吗?
这个我记得好像在Linux还是docker哪里有来着
老师您好,您在本章讲的反编译工具在哪里下载?谢谢!
老师,我这个是什么情况,在设置证书的时候出现这个,怎么解决
老师,我在练习的时候发现php和我的表名相同时查不到数据,是不是表名不能跟php文件名一样啊。
$pdo->exec('set names utf8'); $sql='select * from change where 1'; $result=$pdo->prepare($sql); $pdoso=$result->execute(); echo $pdoso;
如上面的例子,表名为change,php文件名也为change就查询不到,改个名就有了
pattern =r'[123]\bab'#这个地方必须是.*才可以 # ab左边界的情况 v = re.match(pattern, '1%abr')#这里必须有空格什么的分隔开才能识别单词 print(v)
老师为啥第一行哪里必须是.*才不报错,设置第一个为[123]中的,要匹配的字符串第一个写1为啥报错
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637