您的位置:首页 > 编程语言 > Java开发

java的文件操作(2)

2016-07-11 17:01 260 查看
一.获得控制台用户输入的信息


    public String getInputMessage() throws IOException...{

        System.out.println("请输入您的命令∶");

        byte buffer[]=new byte[1024];

        int count=System.in.read(buffer);

        char[] ch=new char[count-2];//最后两位为结束符,删去不要

        for(int i=0;i<count-2;i++)

            ch[i]=(char)buffer[i];

        String str=new String(ch);

        return str;

    }

    可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。
    二.复制文件

    1.以文件流的方式复制文件

    public void copyFile(String src,String dest) throwsIOException...{

        FileInputStream in=new FileInputStream(src);

        File file=new File(dest);

        if(!file.exists())

            file.createNewFile();

        FileOutputStream out=new FileOutputStream(file);

        int c;

        byte buffer[]=new byte[1024];

        while((c=in.read(buffer))!=-1)...{

            for(int i=0;i<c;i++)

                out.write(buffer[i]);        

        }

        in.close();

        out.close();

    }

    该方法经过测试,支持中文处理,并且可以复制多种类型,比如txt,xml,jpg,doc等多种格式
    三.写文件
    1.利用PrintStream写文件

    public void PrintStreamDemo()...{

        try ...{

            FileOutputStream out=new FileOutputStream("D:/test.txt");

            PrintStream p=new PrintStream(out);

            for(int i=0;i<10;i++)

                p.println("This is "+i+" line");

        } catch (FileNotFoundException e) ...{

            e.printStackTrace();

        }

    }

    2.利用StringBuffer写文件

public void StringBufferDemo() throws IOException......{

        File file=new File("/root/sms.log");

        if(!file.exists())

            file.createNewFile();

        FileOutputStream out=newFileOutputStream(file,true);        

        for(int i=0;i<10000;i++)......{

            StringBuffer sb=new StringBuffer();

            sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 ");

            out.write(sb.toString().getBytes("utf-8"));

        }        

        out.close();

    }

    该方法可以设定使用何种编码,有效解决中文问题。
四.文件重命名

    

    public void renameFile(String path,String oldname,Stringnewname)...{

        if(!oldname.equals(newname))...{//新的文件名和以前文件名不同时,才有必要进行重命名

            File oldfile=new File(path+"/"+oldname);

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  文件操作 java io