老师什么我最后那个s4输出的是13
package com.bjsxt; import java.io.FileInputStream; public class FirstDemo { public static void main(String[] args) { //创建字节输入流对象 FileInputStream fis=null; try{ fis=new FileInputStream("d:/a.txt"); int s1=fis.read();//打印输入字符a对应的ascii码值97 int s2=fis.read();//打印输入字符b对应的ascii码值98 int s3=fis.read();//打印输入字符c对应的ascii码值99 int s4=fis.read(); System.out.println(s1); System.out.println(s2); System.out.println(s3); System.out.println(s4); }catch (Exception e){ e.printStackTrace(); }finally { if(fis!=null) { try{ fis.close(); }catch (Exception e){ e.printStackTrace(); } } } } }
老师,请问为什么PrintWriter不需要转字符串啊,还有pw为什么不会抛出异常呢
老师,为什么前面是Socket,而后面是ServerSocket呢
老师,这两句代码是什么意思呢,尤其是第一句,没有实例化为什么就能直接调用方法了呢
老师,这里取馒头里面的notify为什么是唤醒放馒头的线程呢;这里的index--不应该放在最后吗,现在不是提前减了吗;这里面为什么都要加this啊
老师,请问一下这里的static是有什么作用呢
老师,这里直接return this.size == 0; 是返回的 判断this.size是否等于0 的结果的意思吗?
老师这个Compartor接口中不是挺多方法吗 OrderByName类只实现他的一个方法怎么不会报错啊
老师,我把程序锁写在这也可以实现程序互斥,请问这样是可以的吗
老师请问下最后两个线程优先级是怎么确定的 为什么不是开电脑的线程跟写代码线程同时启动 怎么保证开电脑的线程在敲代码之前呢
,老师,这里面写InterruptedException和Excepyion有什么区别呢
老师,为什么只用关闭DataOutputStream,而不用关闭BufferOutputStream和FileOutputStream?
package fang.stu.sxt; import java.net.DatagramPacket; import java.net.DatagramSocket; /** * 服务端 * * */ public class UdpTest01 { public static void main(String[] args) { DatagramSocket ds=null; try { //创建,服务的的监听对象; ds=new DatagramSocket(9999); //创建缓存区; byte[] bt=new byte[1024]; //创建数据报包; DatagramPacket dap=new DatagramPacket(bt, bt.length); //接收数据 System.out.println("服务端启动,准备接收数据"); ds.receive(dap); //将字节数组转换为字符串接收; String str=new String(dap.getData(),0, dap.getLength()); } catch (Exception e) { e.printStackTrace(); } finally { //关闭这个监听的对象; if (ds!=null){ ds.close(); } } } } package fang.stu.sxt; import java.io.IOException; import java.net.*; /*** * * 客户端 */ public class UdpClient01 { public static void main(String[] args) { DatagramSocket ds=null; try { //将数据类型转换为字节数组 byte[] b="王八蛋".getBytes(); //创建数据报包 DatagramPacket dp=new DatagramPacket(b,b.length, new InetSocketAddress("192.168.44.1",9999)); //创建客户端的监听对象 ds=new DatagramSocket(8088); //开始发送数据 System.out.println("客户端准备发送数据"); ds.send(dp); } catch (Exception e) { e.printStackTrace(); }finally { if (ds!=null){ ds.close(); } } } }
这个和老师讲的基本一样,都能运行,就是没有实现数据的发送
有一个疑问,目前这个项目是在项目初期直接给出了这个项目所需要的类,但是没有讲解这些类是怎么思考设计得来的,请问下,这个可以具体说一下在类的设计中,都做了什么分析和思考?
回答楼上问题,同时记录一下个人理解,无需回答
DataOutputStream 输出的为什么是乱码?明明字符也是由字节构成的;FileOutputStream同为字节流,输出就不乱码。
以字节的方式输出字符串,不会乱码。将乱码文件以utf-8的格式打开,会发现字符串部分不是乱码。
乱码的原因在于,输出其他类型时如int i = 1; 时,输出的是1对应的二进制字节,而不是'1',这样的二进制串不符合utf-8编码具有的二进制规律,故windows无法获取文件编码,以默认编码(中文系统下多为GBK)将文件打开,所以乱码。
即使全是写入字符串,以utf-8格式打开,每条字符串前方还是存在一些乱码。推测这些字节是供DateInputStream读取条目时的分隔符。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637