java中文件操作大全  一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息
     * @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;
    }
可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。二.以文件流的形式,复制文件/** *//**以文件流的方式复制文件
     * @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();
    }
该方法可以设定使用何种编码,有效解决中文问题。四.利用dom4j读取xml文件    /** *//**从目录中读取xml文件
     * @param path 文件目录
     * @return
     * @throws DocumentException
     * @throws IOException
     */
    public Document readXml(String path) throws DocumentException,IOException...{
        File file=new File(path);
        BufferedReader bufferedreader = new BufferedReader(new FileReader(file));
        SAXReader saxreader = new SAXReader();
        Document document = (Document)saxreader.read(bufferedreader);
        bufferedreader.close();
        return document;
    }本文为本人在工作学习中的总结,每个方法都经过测试,记在博客上一方面是为了自己日后工作方便,另一方面是为了给大家提供方便,节约时间。

解决方案 »

  1.   

    晕....玩API大全啊...合适的才是最好的.比如说你那个复制文件吧.我就觉得BufferedWriter不错.效率也比较高...
      

  2.   

    第一个也可以直接中文的
    byte buffer[]=new byte[1024]; 
    int count=System.in.read(buffer); 
    String str=new String(buffer,0,count-2);//最后两位为结束符,删去不要
    return str;
      

  3.   

    控制台输入jdk建议用Scanner类
    文件读写有好几十个类,所谓一法通则万法通,只要会一个其它的也就会了
    dom4j google一搜一大把一看就会了上面的都是你自己写的吧,代码过于繁复
      

  4.   


    事情的起因是源于下面这样的一则广告贴(目前幸运还没有被删除,可以链接成功): 
    http://topic.csdn.net/u/20081028/15/525f32df-6c53-4b46-b847-f04c6fc1faf4.html 事情的发展是在这个贴: 我在移动平台专区被封权限是为什么?这个要找谁? 
    http://topic.csdn.net/u/20081118/08/cf7d0af3-35cc-4fb7-9dc2-4567041b89e5.html?seed=1367941736 事情的最新进展是这样的: [抗议]对硬件/嵌入开发的某些版主武断,简单,粗暴的执法方式表示严重的抗议!  
    http://topic.csdn.net/u/20081119/11/bda8bc5d-98d0-45ee-a1c1-86209d7f121d.html?seed=1457200066 当小贩被野蛮城管打死后之CSDN版 
    http://topic.csdn.net/u/20081120/09/8af968cb-af00-4ddb-8604-dab1fb5421be.html?seed=613093649 我重申一下,我一直不是在为我发广告贴辩护,我是在为处理此事的过程中受到的不合理对待即wxf0204 武断,简单,粗暴加野蛮的方式执法的行为,就我看跟城官差不多,对残踏我作为CSDN网友尊严,无视我作为CSDN网友存在的言行进行回击,悍卫我作为CSDN网友所具有的最基本的权利,而且之前连一个申诉的地方都没有,也没有找到班主封ID,删除留言的规定!别人城管也不会第一次去执法看到有小贩就直接打死,也会先劝导,就第一次收了别人小贩的东西也会开个条说一下情况,开个清单,收了什么,什么时候来取,要受到何种处罚,你们这帮斑猪不通人性,看到小贩直接毙了,之前之后,不声不响,不闻不问,不通人性,比城管还城管...................
    而且还不知反省,以暴抑暴,导致事件恶性循环!大家注意抗议的主题,不是对删除贴子,封ID有异议,对此贴前已经说的很清楚,现在的问题是抗议某些斑猪或者大部分斑猪在处理此事时粗暴的方式,野蛮的态度,狭隘的思想,如果在封ID之前给予警告,封ID之后对被封ID用户说明情况如确认被封的具体原因,封的时间以及当前所犯事件的严重程度等,事情何以至此,现在某些斑主为撑面子,继续执迷不悟,一点服务意识都没有,只会摆淫威! 再者跟城管没得比,别人城管之前还有警告,收了东西之后还要开个单子,通知什么时候去取回,有什么处罚,你们的粗野方式就是直接毙了,一了百了,跟原始人一样,难不成CSDN都是这样,真没人性化,我看别的论坛都是有流程,有说明,有警告,有通知!而且应该还有申诉的渠道,不能一手遮天,一毙完事,一点服务意识都没有,只会摆淫威! 
    知会一下,举手之劳,别的论坛都这么做......你们不这么做就是不通人性.........你自己想下,你这样野蛮,我为何要惧怕你的淫威,你以为你是谁,做错事直接闷棍打死,真正怎么死的都不知,...........不给没有前科的人以任何机会,手段之残忍,心恨之至极...........令人发指........让人不服,还不让辩解.....................,一点服务意识都没有,只会摆淫威 
    一点服务意识都没有,只会摆淫威