使用技巧:对Java编程中的文件操作详解

2008-02-23 08:15:36来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一.获得控制台用户输入的信息

/** *//**获得控制台用户输入的信息

     * @return

     * @throws IOException

     */

    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.以文件流的方式复制文件

/** *//**以文件流的方式复制文件

     * @param src 文件源目录

     * @param dest 文件目的目录

     * @throws IOException  

     */

    public void copyFile(String src,String dest) throws IOException...{

        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=new FileOutputStream(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();

    }

该方法可以设定使用何种编码,有效解决中文问题。

四.文件重命名

/** *//**文件重命名

     * @param path 文件目录

     * @param oldname  原来的文件名

     * @param newname 新文件名

     */

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

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

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

            File newfile=new File(path "/" newname);

            if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名

                System.out.println(newname "已经存在!");

            else...{

                oldfile.renameTo(newfile);

            } 

        }         

    }

五.转移文件目录

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JSP和Java Servlet的技术概述以及比较

下一篇:实例:JSP中把动态页面转换为静态页面