A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/**
如下代码所示,为什么ascii码可以在控制台显示,
但是,我却不能把它们显示在记事本上。
为什么泥?
怎么样才能把它们显示在记事本上呢?
学了这么久居然连编码也没搞明白,真杯具啊。
*/
class  AsciiDemo
{
        public static void main(String[] args)
        {
                for (int i=0; i<=256; i++)
                {
                        System.out.print(i+" : "+(char)i+"  ");
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

7 个回复

倒序浏览
搞了半天没弄明白楼主到底想问什么.....
如果想在记事本里面显示出ascii码表的话,要用到IO流了,往记事本里面,也就是文件中写入内容.

评分

参与人数 2技术分 +1 黑马币 +3 收起 理由
邓艳秋 + 1
姚永生 + 3 神马都是浮云

查看全部评分

回复 使用道具 举报
本帖最后由 李俊伟 于 2013-1-28 10:13 编辑

我给你一个简单的示例,还有别的方法可以实现你想要的结果,学完IO流,你就知道怎么对流熟练运用了。
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;

public class  Test14
{
        public static void main(String[] args)
        {
         try {
    System.setOut(new PrintStream("D:\\xyz.txt","UTF-8"));
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }
                for (int i=0; i<=256; i++)
                {
                        System.out.print(i+" : "+(char)i+"  ");
                        if(i%5==0)
                        {
                         System.out.println();
                        }
                }
        }
}

评分

参与人数 2技术分 +1 黑马币 +9 收起 理由
冯海霞 + 1
姚永生 + 9 很给力!

查看全部评分

回复 使用道具 举报
李俊伟 发表于 2013-1-28 10:11
我给你一个简单的示例,还有别的方法可以实现你想要的结果,学完IO流,你就知道怎么对流熟练运用了。
impor ...

谢谢哥们。
但是,还是不太如意。比如,第二号数字在控制台显示的是笑脸符,但是在记事本里显示的却是一个直角拐弯的东西。这是为什么呢?
怎样才能让记事本跟控制台上的显示完美一致?
如果你有空,希望能得到哥们的再次帮助。
回复 使用道具 举报
        哎,一分难求啊!   
        我修改了编码,只调整了顺序,应该这样才具可执行性。我的代码没什么问题,要得到控制台的的打印结果,你可以修改你的记事本格式。
操作步骤:记事本->格式->字体:宋体->字符集:西方。修改好以后打印结果和控制台上的输出一样,你试一试.
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.io.UnsupportedEncodingException;

public class  Test14
{
        public static void main(String[] args)
        {
         try {
    System.setOut(new PrintStream("D:\\xyz.txt","UTF-8"));//UTF-8可以改为ASCII,ASCII编码表字符就0~127
    for (int i=0; i<=256; i++)
    {
     System.out.print(i+" : "+(char)i+"  ");
     if(i%5==0)
     {
      System.out.println();
     }
    }
   } catch (FileNotFoundException e) {
    e.printStackTrace();
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }
        }
}

点评

同学,不好意思。上网不及时,处理帖子不到位,望谅解!技术分不难拿!  发表于 2013-1-28 14:14
回复 使用道具 举报
我按你说的试过了,不好使
回复 使用道具 举报
姚永生 发表于 2013-1-28 14:16
我按你说的试过了,不好使

哥们儿,我用的是Eclipse7.x版本、XP32位系统,不知道你的编译环境是什么,我是经过调试后,得出你想要的结果,才回复你的。具体的什么情况你可以再说仔细点,要能帮上我帮你想想办法。
回复 使用道具 举报
我的系统应该和你一样的,但是个别符号还是不一样。这应该是控制台与记事本的编码方式不一样造成的吧。
再次感谢哥们的帮忙!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马