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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张子凯 于 2013-4-28 13:07 编辑

刚自学到22天视频,有如下一段代码,运行时发现当输入c:时,显示的是桌面上的文件及文件夹,当输入c:\时,显示的才是c盘下的东西,当输入d:时,显示的是我的当前存储类中文件夹跟文件,当输入d:\时才显示D盘下的东西,奇怪的是当我输入e:跟f:时,显示的是e,f盘下的东西,不知道这是什么原因?
代码如下,由于代码简单,所以没有注释。
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.io.*;
  4. class MyFrameDemo
  5. {
  6.         private Frame frame;
  7.         private Button but;
  8.         private TextArea ta;
  9.         private TextField tf;

  10.         MyFrameDemo()
  11.         {
  12.                 init();
  13.         }

  14.         public void init()
  15.         {
  16.                 frame = new Frame("文本编辑");
  17.                 frame.setBounds(180,100,600,500);
  18.                 frame.setLayout(new FlowLayout());

  19.                 but = new Button("转到");
  20.                 ta = new TextArea(15,60);
  21.                 tf = new TextField(60);

  22.                 frame.add(tf);
  23.                 frame.add(but);
  24.                 frame.add(ta);

  25.                 myEvent();

  26.                 frame.setVisible(true);
  27.         }

  28.         private void myEvent()
  29.         {
  30.                 frame.addWindowListener(new WindowAdapter()
  31.                 {
  32.                         public void windowClosing(WindowEvent e)
  33.                         {
  34.                                 System.exit(0);
  35.                         }
  36.                 });

  37.                
  38.                 but.addActionListener(new ActionListener()
  39.                 {
  40.                         public void actionPerformed(ActionEvent e)
  41.                         {
  42.                                 String dirPath = tf.getText();
  43.                                 File dir = new File(dirPath);

  44.                                 if (dir.exists() && dir.isDirectory())
  45.                                 {
  46.                                         ta.setText("");
  47.                                         String[] names = dir.list();

  48.                                         for(String name : names)
  49.                                                 ta.append(name + "\r\n");
  50.                                 }
  51.                                 else
  52.                                         ta.setText(dirPath+"不是文件夹");
  53.                         }
  54.                 });
  55.         }
  56.         public static void main(String[] args)
  57.         {
  58.                 new MyFrameDemo();
  59.         }
  60. }
复制代码

未命名1.JPG (129.72 KB, 下载次数: 35)

c:

c:

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

4 个回复

正序浏览
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
语句中应该是这样写吧“c:\\"才表示是C盘吧!

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 鼓励鼓励

查看全部评分

回复 使用道具 举报
尹丽峰 发表于 2013-4-24 10:19
就比如 cmd里  你直接输入c:敲回车是不是换是默认的Documents文件目录?c:\应该等同于 cd\ ...

觉得不太对。。。。
回复 使用道具 举报
就比如 cmd里  你直接输入c:敲回车是不是换是默认的Documents文件目录?c:\应该等同于 cd\

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马