原因以及解决方法:

核心方法如下:

 public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub FileReader fr=new FileReader("test.txt");
FileWriter fw=new FileWriter("test2.txt"); /*int b=0;
while(b!=-1){
b=fr.read();
System.out.print("-"+(char)b);
fw.write(b); 用这种方法会比下面的方法在最后的文本后面多出一个乱码'?'
因为当读取到最后一个字符时,b此时还不等于-1,判断后会接着读取
下一个字符,但在上一次读取时已读取到最后一个字符,所以这次
就什么都读取不到(产生乱码),并返回-1,结束循环
}*/ int b;
while((b=fr.read())!=-1){ System.out.print("-"+(char)b);
fw.write(b);
      //这个方法的优点在于它会在读取的同时判断是否执行方法体
}
fr.close();
fw.close();
}

java中字符输入输出流在输出结果的结尾多一个乱码字符:'?'的更多相关文章

  1. Java中数字的格式化输出

    Java中数字的格式化输出 double d = 345.678; String s = "hello!"; int i = 1234; //"%"表示进行格式 ...

  2. Java中输入输出流

    InputStream:所有字节输入流的所有类的超类. read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲数组b中 reset()将此流重新定位到最后一次对此流调用mark方法 ...

  3. Java中switch语句+例题输出当前月份

    学习目标: 掌握switch的使用 学习内容: 1.switch语法 <font color=#000000 size=3> switch(表达式) { case 常量1: 语句体1; b ...

  4. 055、Java中使用for循环输出乘法口诀表

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  5. Java中解压文件名有中文的rar包出现乱码问题的解决

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  6. 107、Java中String类之判断开头或结尾

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  7. Java中的异常简介

    Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...

  8. 理论篇-Java中一些零碎的知识点

    1. Java中length,length方法,size方法区别 length属性:用于获取数组长度. length方法:用于获取字符串长度. size方法:用于获取泛型集合有多少个元素. 2. is ...

  9. 浅谈JAVA中如何利用socket进行网络编程(一)

    转自:http://developer.51cto.com/art/201106/268385.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

随机推荐

  1. [置顶] [混迹IT职场系列]一、转正的那些事儿

    讲起转正,是每个IT人进入职场后要面对的第一关,只有越过这第一关卡才能更加顺利玩弄职场或被职场玩弄或互相玩弄. 很多人觉得转正只需自身努力即可,譬如有句话叫做 “只要功夫深,铁针磨成棒”.其实不然,职 ...

  2. 使用国人的koala来重新预编译BOOTSTRAP的LESS文件

    好玩...

  3. UIAlertView弹出框

    <Alert弹出框提示用户信息>    1.遵循代理方法<UIAlertViewDelete>    2.调用方法UIAlertView *alert = [[UIAlertV ...

  4. CSS3伪类选择器 图示

         

  5. lucene4.0与之前版本的一些改变

    最近在用lucene4.0,因为之前也没用过lucene其它版本,所以也不是很熟悉.但每次上网查资料代码的时候,总发现网友们贴的代码都是之前的版本的.当我拷贝过来的时候总会出问题,去查API的时候,总 ...

  6. 禁止执行某些讨厌的程序,如tadb.exe

    第一步:首先通过快捷键"Win+R"来打开"执行"菜单. 第二步:输入"gpedit.msc"回车确认,进入我们电脑中的组策略编辑器. 第三 ...

  7. 漫步支持向量机(svm)之一

    设输入为$x$,表示训练集的特征向量,输出为$y=\{1,-1\}$,这些向量都属于两类中的其中一类,假设这些向量是线性可分的,现在要找一个最优的平面(在二维的时候为一条直线),将这些特征向量正确分类 ...

  8. Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.(转)

    1.程序运行后异常显示: 解决方案:在项目上点击右键->properties->Java Build Path, remove掉Android Dependences即可

  9. Ubuntu常见问题

    1.  Ubuntu16.04安装完国际版QQ后发现用不了搜狗输入法      sudo mv /usr/bin/ibus-daemon /usr/bin/ibus-daemon.bak

  10. springmvc的渲染

    1.1.1 支持绑定表单对象 我们先来看如下使用form标签的一个示例: Jsp代码 收藏代码 <form:form action="formTag/form.do" met ...