您的位置:首页 > 职场人生

黑马程序员 其他对象 I/O

2015-07-13 18:22 288 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

1、System:类中的方法和属性都是静态的

    out:标准输出

    in :标准输入

    描述系统一些信息

    

    获取系统属性信息:Properties getProperties()

2、Runtime

    该类并没有提供构造函数

    说明不可以new对象,那么会直接想到该类中的方法都是静态的

    发现该类中还有非静态方法

    说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并且返回值类型是本类类



    该方式是static Runtime getRuntime()

    有这个特性可以看出该类使用了单例设计模式完成

    

    Runtime r=Runtime.getRuntime();

    Process p=r.exec("ww");//运行ww

    Thread.sleep(4000);    //进程暂停4秒

    p.destroy();        //停止(结束)子进程 p

3、Date

        Date d=new Date();

        System.out.println(d);

        //将模式封装到SimpleDateFormat对象中

        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd E hh:mm:ss");

        //调用format方法,让模式格式化指定Date对象

        String t=sdf.format(d);

        System.out.println(d);

        System.out.println(t);

        

        //单独获取某个时间值

        //方法1

        SimpleDateFormat Singlesdf=new SimpleDateFormat("yyyy");

        String year=Singlesdf.format(d);

        System.out.println(year);

        //方法2

        Calendar c=Calendar.getInstance();

        System.out.println(c.get(Calendar.YEAR)+"年");

        System.out.println(c.get(Calendar.MONTH)+1);

        System.out.println(c.get(Calendar.DAY_OF_MONTH));

        System.out.println(c.get(Calendar.DAY_OF_WEEK));

4、Math

    abs    绝对值

    e    自然底数

    PI    π

    ceil()    返回大于等于该数值的最小整数

    floor() 返回小于等于该数值的最大整数

    round() 四舍五入

    pow(a,b);a的b次幂

    random    随机数

random()     0~1

random()*10      0~10

nextInt(10)+1    0~10

    

5、I/O

    字节流抽象基类:InputStream,OutStream

    字符流抽象基类: Reader , Writer

    

    FileWriter fw=new FileWriter("E:\\java_heima\\xuxiedemo.txt",true);

    //添加一个true参数,表示不覆盖同名文件

例    

    需要:在硬盘上,创建文件,并写数据

    

        //1)创建一个FileWriter对象,该对象一被初始化就必须要明确被操作的文件

        //而且该文件会被创建到指定目录下,并且覆盖同名文件

        FileWriter fw=new FileWriter("E:\\java_heima\\demo.txt");//明确存放的位



        

        //2)调用write方法,将字符串写入到流中,

        fw.write("abcd");

        //3)方式1

        //刷新流对象的缓冲中文件的数据

        //将数据刷到目的地中

        //fw.flush();

        

        //3)方式2

        //关闭数据流,但是在关闭前,会刷新一次内部的缓冲中的数据。

        //将数据刷到目的地中,

        //和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭

        //fw.close();

        //fw.write("king");

------详细,处理异常

        FileWriter fw=null;

        try {

            fw = new FileWriter("E:\\java_heima\\demo2.txt");

            fw.write("E:\\java_heima\\demo2.txt");

            

        } catch (IOException e) {

            // TODO Auto-generated catch block

            System.out.println(e.toString());

        }

        finally

        {

            try {

                if(fw!=null)

                    fw.close();

            } catch (IOException e) {

                System.out.println(e.toString());

            }

        }    

6、I/O

    Read

    方式一



        //创建一个文件读取流对象,和指定名称的文件相关联。

        //要保证该文件是存在的,不然会异常

        FileReader fr=new FileReader("E:\\java_heima\\demo.txt");

        

        //调用读取流对象的read方法,每次读一个

        //int ch=fr.read();

        //System.out.println("ch="+(char)ch);

        int c=0;

        while((c=fr.read())!=-1)

        {

            System.out.println((char)c);

        }

    方式二



        FileReader fr=new FileReader("E:\\java_heima\\demo.txt");

        

        //定义一个字符数组,用于存储读到字符

        //该read(char[])返回的是读到字符个数

        char[] buf=new char[3]; //一般定义1024的倍数

        

        int num=fr.read(buf);

        System.out.println(num+"==="+new String(buf));

        //new String(buf,0,num);这样可以控制长度

        int num2=fr.read(buf);

        System.out.println(num2+"==="+new String(buf));

        

        int num3=fr.read(buf);

        System.out.println(num3+"==="+new String(buf));

        fr.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: