`
woaimoliha4
  • 浏览: 12886 次
社区版块
存档分类
最新评论

android

 
阅读更多
一.获得控制台用户输入的信息


[java] view plaincopyprint?/** *//**获得控制台用户输入的信息 
     * @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;   
    }   
    /** *//**获得控制台用户输入的信息
         * @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.以文件流的方式复制文件
[java] view plaincopyprint?/** *//**以文件流的方式复制文件 
     * @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();   
    }   
    /** *//**以文件流的方式复制文件
         * @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写文件


[java] view plaincopyprint?/** *//** 
     * 文件输出示例 
     */   
    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();   
        }   
    }   
    /** *//**
         * 文件输出示例
         */ 
        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写文件


[java] view plaincopyprint?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();   
    }   
    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(); 
        }  该方法可以设定使用何种编码,有效解决中文问题。

四.文件重命名


[java] view plaincopyprint?/** *//**文件重命名 
* @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);   
        }    
    }            
}   
    /** *//**文件重命名
     * @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); 
            }  
        }          
    }  五.转移文件目录

转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。


[java] view plaincopyprint?/** *//**转移文件目录 
* @param filename 文件名 
* @param oldpath 旧目录 
* @param newpath 新目录 
* @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作 
*/   
public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{   
    if(!oldpath.equals(newpath))...{   
        File oldfile=new File(oldpath+"/"+filename);   
        File newfile=new File(newpath+"/"+filename);   
        if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件    
            if(cover)//覆盖    
                oldfile.renameTo(newfile);   
            else   
                System.out.println("在新目录下已经存在:"+filename);   
        }   
        else...{   
            oldfile.renameTo(newfile);   
        }   
    }          
}   
    /** *//**转移文件目录
     * @param filename 文件名
     * @param oldpath 旧目录
     * @param newpath 新目录
     * @param cover 若新目录下存在和转移文件具有相同文件名的文件时,是否覆盖新目录下文件,cover=true将会覆盖原文件,否则不操作
     */ 
    public void changeDirectory(String filename,String oldpath,String newpath,boolean cover)...{ 
        if(!oldpath.equals(newpath))...{ 
            File oldfile=new File(oldpath+"/"+filename); 
            File newfile=new File(newpath+"/"+filename); 
            if(newfile.exists())...{//若在待转移目录下,已经存在待转移文件 
                if(cover)//覆盖 
                    oldfile.renameTo(newfile); 
                else 
                    System.out.println("在新目录下已经存在:"+filename); 
            } 
            else...{ 
                oldfile.renameTo(newfile); 
            } 
        }        
    } 
六.读文件

1.利用FileInputStream读取文件

2.利用BufferedReader读取

在IO操作,利用BufferedReader和BufferedWriter效率会更高一点

3.利用dom4j读取xml文件


[java] view plaincopyprint?/** *//**从目录中读取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;   
}   
    /** *//**从目录中读取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.创建文件夹[java] view plaincopyprint?/** *//**创建文件夹 
    * @param path  目录 
    */   
   public void createDir(String path)...{   
       File dir=new File(path);   
       if(!dir.exists())   
           dir.mkdir();   
   }   
    /** *//**创建文件夹
        * @param path  目录
        */ 
       public void createDir(String path)...{ 
           File dir=new File(path); 
           if(!dir.exists()) 
               dir.mkdir(); 
       }  2.创建新文件

[java] view plaincopyprint?/** *//**创建新文件 
     * @param path 目录 
     * @param filename 文件名 
     * @throws IOException 
     */   
    public void createFile(String path,String filename) throws IOException...{   
        File file=new File(path+"/"+filename);   
        if(!file.exists())   
            file.createNewFile();   
    }   
    /** *//**创建新文件
         * @param path 目录
         * @param filename 文件名
         * @throws IOException
         */ 
        public void createFile(String path,String filename) throws IOException...{ 
            File file=new File(path+"/"+filename); 
            if(!file.exists()) 
                file.createNewFile(); 
        }  八.删除文件(目录)

1.删除文件

[java] view plaincopyprint?** *//**删除文件   
* @param path 目录  
* @param filename 文件名  
*/   
public void delFile(String path,String filename)...{   
    File file=new File(path+"/"+filename);   
    if(file.exists()&&file.isFile())   
        file.delete();   
}   
** *//**删除文件
* @param path 目录
* @param filename 文件名
*/ 
public void delFile(String path,String filename)...{ 
    File file=new File(path+"/"+filename); 
    if(file.exists()&&file.isFile()) 
        file.delete(); 
}  2.删除目录
要利用File类的delete()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。

[java] view plaincopyprint?/** *//**递归删除文件夹 
    * @param path 
    */   
   public void delDir(String path)...{   
       File dir=new File(path);   
       if(dir.exists())...{   
           File[] tmp=dir.listFiles();   
           for(int i=0;i<tmp.length;i++)...{   
               if(tmp[i].isDirectory())...{   
                   delDir(path+"/"+tmp[i].getName());   
               }   
               else...{   
                   tmp[i].delete();   
               }   
           }   
           dir.delete();   
       }   
   }   
    /** *//**递归删除文件夹
        * @param path
        */ 
       public void delDir(String path)...{ 
           File dir=new File(path); 
           if(dir.exists())...{ 
               File[] tmp=dir.listFiles(); 
               for(int i=0;i<tmp.length;i++)...{ 
                   if(tmp[i].isDirectory())...{ 
                       delDir(path+"/"+tmp[i].getName()); 
                   } 
                   else...{ 
                       tmp[i].delete(); 
                   } 
               } 
               dir.delete(); 
           } 
       } 
3、读文件

[java] view plaincopyprint?/** *//**读文件 
  * @param path 
  * @return 
  * @throws IOException 
  */   
public String BufferedReaderDemo(String path) throws IOException...{   
     File file=new File(path);   
     if(!file.exists()||file.isDirectory())   
         throw new FileNotFoundException();   
     BufferedReader br=new BufferedReader(new FileReader(file));   
     String temp=null;   
     StringBuffer sb=new StringBuffer();   
     temp=br.readLine();   
     while(temp!=null)...{   
         sb.append(temp+" ");   
         temp=br.readLine();   
     }   
     return sb.toString();   
}   

分享到:
评论

相关推荐

    Android组件设计思想

    Android应用开发的哲学是把一切都看作是组件。把应用程序组件化的好处是降低模块间的耦合性,同时提高模块的复用性。Android的组件设计思想与传统的组件设计思想最大的区别在于,前者不依赖于进程。也就是说,进程...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    Android框架揭秘.pdf

    《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的主要源代码,并详细讲解了理解框架工作原理所需的各种基础知识和构成...

    android应用开发范例精解

    第2篇为应用开发篇,通过实例介绍了Android UI布局、Android人机界面、手机硬件设备的使用、Android本地存储系统、Android中的数据库、多线程设计、Android传感器、Android游戏开发基础、Android与Internet,以及...

    Android BLE蓝牙例子(包括android版Lightblue)实例源码

    源码里面有Bluetooth4_3/BLEDemo/Android_Lightblue.apk三个.前两个是BLE的demo。BLEDemo这个功能较Bluetooth4_3多一些,有兴趣的可以都看下。Android_Lightblue.apk是Android版的lightblue,在进行ble开发的时候用...

    Android BLE开发之Android手机与BLE终端通信 程序文件

    Android 4.3才开始支持BLE API,所以请各位客官把本文代码运行在蓝牙4.0和Android 4.3及其以上的系统,另外本文所用的BLE终端是一个蓝牙4.0的串口蓝牙模块。 PS:我的i9100刷了4.4系统后,竟然也能跟BLE蓝牙模块通信...

    Android 8.0.0 (API 26) SDK Platform

    使用: export ANDROID_HOME="/opt/android-...# mv /opt/android-sdk/platforms/android-8.0.0 /opt/android-sdk/platforms/android-26 官网下载地址:https://dl.google.com/android/repository/platform-26_r01.zip

    Android 7.1.1 (API 25) SDK Platform 下载

    # mv /opt/android-sdk/platforms/android-25/android-7.1.1/* /opt/android-sdk/platforms/android-25/ # rm -rf /opt/android-sdk/platforms/android-25/android-7.1.1 官网下载地址:...

    Android support.v7包

    Android support.v7包

    android系统原理及开发要点详解

     第1章“Android系统概述”,概述Android系统方面的内容,包括智能手机平台的发展历程、Android系统的特点、Android的3种开发工作,以及Android的2种不同的开发方式。  第2章“Android系统开发综述”,介绍Android...

    android 经典代码例子

    android 经典代码例子,若干个。。。。

    c#开发Android应用实战

    《C#开发Android应用实战——使用Mono for Android和.NET/C# 全面透彻地讲解Android应用编程知识,分析如何结合使用C#和Mono来编写在Android设备系列上运行的应用程序。在这本由多位专家联袂撰写的必备精品书籍的...

    Android游戏源码大合集(主要是AndEngine和Libgdx的)

    最近在网络上看到有网友抱怨Android游戏源码找不到,所以小弟收集了一些AndEngine和Libgdx的游戏源码,以Eclipse工程的形式配置好环境,再陆续发出(某引擎避嫌,不在此列)。 虽说主要是由Libgdx与AndEngine开发的...

    Android平台开发之旅(第2版).pdf

    《Android平台开发之旅(第2版)》涵盖Android 3/4的新特性,立足实际的开发案例,介绍了Android平台开发的基础概念、实用技术和应用模式。主要内容包括应用程序框架、高级界面、数据库应用、网络通信与Web开发、无线...

    Android客户端调用webService上传图片到服务器

    调用服务器的webservice接口,实现从Android上传图片到服务器,然后从服务器下载图片到Android客户端 从Android端用io流读取到要上传的图片,用Base64编码成字节流的字符串,通过调用webservice把该字符串作为参数...

    Android应用程序输入事件处理机制

    在Android应用程序中,有一类特殊的消息,是专门负责与用户进行交互的,它们就是触摸屏和键盘等输入事件。触摸屏和键盘事件是统一由系统输入管理器InputManager进行分发的。也就是说,InputManager负责从硬件接收...

    《Google Android SDK开发范例大全(第3版)》.pdf

     全书共分11章,主要以范例集的方式来讲述android的知识点,详细介绍了开发android的人机交互界面、android常用的开发控件、android手机收发短信等通信服务、开发android手机的自动服务功能和娱乐多媒体功能以及...

    Android开发之旅 完整版pdf

    • Android 开发之旅:android架构 • Android 开发之旅:应用程序基础及组件 • Android 开发之旅:应用程序基础及组件(续) • Android 开发之旅:活动与任务 • Android 开发之旅:进程与线程 • Android ...

Global site tag (gtag.js) - Google Analytics