Core Java第二卷有个错误?URLConnectionTest

问题描述

CoreJava第二卷第八版似乎有个错误:3.5建立URL连接的示例代码URLConnectionTest.java:方法Base64OutputStream.flush():publicvoidflush()throwsIOException{if(i==1){super.write(toBase64[(inbuf[0]&0xFC)>>2]);super.write(toBase64[(inbuf[0]&0x03)<<4]);super.write('=');super.write('=');}elseif(i==2){super.write(toBase64[(inbuf[0]&0xFC)>>2]);super.write(toBase64[((inbuf[0]&0x03)<<4)|((inbuf[1]&0xF0)>>4)]);super.write(toBase64[(inbuf[1]&0x0F)<<2]);super.write('=');}if(col>0){super.write('n');col=0;}}

应该为:publicvoidflush()throwsIOException{if(i==1){super.write(toBase64[(inbuf[0]&0xFC)>>2]);super.write(toBase64[(inbuf[0]&0x03)<<4]);super.write('=');super.write('=');}elseif(i==2){super.write(toBase64[(inbuf[0]&0xFC)>>2]);super.write(toBase64[((inbuf[0]&0x03)<<4)|((inbuf[1]&0xF0)>>4)]);super.write(toBase64[(inbuf[1]&0x0F)<<2]);super.write('=');}i=0;//if(col>0)//{//super.write('n');//col=0;//}}

解决方案

解决方案二:
查了CayHorstmann的bug列表,没看到这个bug,我那里弄错了吗?有谁看过这个示例代码吗?base64编码为什么非要在最后加个回车?不是过了76个字节才加吗?

时间: 2024-10-28 02:20:50

Core Java第二卷有个错误?URLConnectionTest的相关文章

用java发邮件 出现如下错误 ,代码如下

问题描述 用java发邮件 出现如下错误 ,代码如下 /** 表示邮件类,你需要设置:账户名和密码.收件人.抄送(可选).暗送(可选).主题.内容,以及附件(可选) 在创建了Mail对象之后 可以调用它的setSubject().setContent(),设置主题和正文 也可以调用setFrom()和 addToAddress(),设置发件人,和添加收件人. 也可以调用addAttch()添加附件 创建AttachBean:new AttachBean(new File("..."),

JAVA中的异常与错误处理详解

  异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误: 它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务

C++编程思想第二卷(实用编程技术)摘要

在c++编程思想的第二卷中介绍了很多更深入的c++特性,这是现代C++编程的精髓 模板 1.一般类的声明和定义都在H和CPP两种文件中,主要是怕连接时的多重定义,但是对于模板可以放心的将他们都放在H文件中,因为template后面的东西编译器不会为其分配空间,知道有一个模板实例告知.如果不适用内敛的方式,在每次定义模板的函数前都要声明template,而且声明中的类名后面要加<参数> 2.可以这样定义模板类 template<class T,classu-> template<

深入探讨JAVA中的异常与错误处理_java

异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误: 它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

深入探讨Java中的异常与错误处理

Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置.本文将探讨一下Java中异常与错误的处理方法,一起来看看. 异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异

Java Web项目经常提示错误

Java Web项目经常提示错误"This project needs to migrate WTP metadata",简单的解决方法就是右击项目然后选择Validate,做完validate后错误就消失了. 出处:http://stevex.blog.51cto.com/4300375/941669

JAVA键盘监听,错误在哪里

问题描述 JAVA键盘监听,错误在哪里 解决方案 java 键盘监听java 键盘监听Java:键盘全局监听 解决方案二: http://zhidao.baidu.com/question/577201357.html?qbl=relate_question_0 解决方案三: 编译问题,你这个方法调用参数类型是错误的,键盘监听事件的参数是addKeyListener的参数必须是实现KeyListener这个接口的类. 你的mb类型定义的是JPanel,所以会报编译错误.你需要定义一个类实现Key

java 游戏开发-Java 运行程序时,错误调用函数,

问题描述 Java 运行程序时,错误调用函数, 做的一个棋类小游戏,有条规则是棋子变成王后,可以远距离吃子,在编写王吃子规则时,需要使用if语句对是否是王进行判断,但是在运行时,还没有变成王,就输出判断为王时的提示语句,