首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

新手available方法有关问题

2012-01-23 
新手available方法问题packageaaaaimportjava.io.Fileimportjava.io.FileInputStreamimportjava.io.Obj

新手available方法问题
package   aaaa;
import   java.io.File;
import   java.io.FileInputStream;
import   java.io.ObjectInputStream;
import   java.io.Serializable;
import   java.util.ArrayList;

public   class   shiyan   {
        public   static   void   main(String[]   args)   {
                File   wenjian=new   File( "d:\\aaa.txt ");
                ArrayList <lei>   shuzu=new   ArrayList <lei> ();
                if   (!wenjian.exists())
                {
                        System.out.println( "文件不存在! ");
                        return;
                }
                try{
                        FileInputStream   duqu   =   new   FileInputStream(wenjian);
                        ObjectInputStream   duqua   =   new   ObjectInputStream(duqu);

                        while(duqu.available()> 0)   //为什么把这里改成duqua.available()> 0就不行了?
                        {
                                shuzu.add((lei)duqua.readObject());
                        }

                        for   (int   i=0;i <shuzu.size();i++)
                        {
                                System.out.println(shuzu.get(i).getage());
                                System.out.println(shuzu.get(i).getname());
                        }

                }catch(Exception   e)
                {
                        System.out.println( "出错了! ");
                }


        }
}

class   lei   implements   Serializable
{
        public   lei(String   name,int   age)
        {
                this.name=name;
                this.age=age;
        }

        private   String   name;
        private   int   age;

        public   String   getname()
        {


                return   this.name;
        }

        public   int   getage()
        {
                return   this.age;
        }


}

上面是我练习ObjectinputStream写的代码。我有一个问题。就是把
while(duqu.available()> 0)     改成
while(duqua.available()> 0)   为什么就读不出来了?
这两个有什么区别么   不都是返回可读的字节数么?   谢谢了!

[解决办法]
我只觉得你的变量,对象引用写得很差,完全不和国际接轨

比如wenjian嘛,就写个file
FileInputStream duqu = new FileInputStream(wenjian);
为什么不是
FileInputStream fileInputStream= new FileInputStream(file);一类的呢

去公司面试,一看你这些命名规范,一下就刷。

热点排行
Bad Request.