`
java_cofi
  • 浏览: 48803 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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;
     }
     可以返回用户输入的信息,不足之处在于不支持中文输入,有待进一步改进。
     二.复制文件
     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);
             }
         }        
     }

  五.转移文件目录
     转移文件目录不等同于复制文件,复制文件是复制后两个目录都存在该文件,而转移文件目录则是转移后,只有新目录中存在该文件。
     /** *//**转移文件目录
      * @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读取文件
     /** *//**读文件
      * @param path
      * @return
      * @throws IOException
      */
     public String FileInputStreamDemo(String path) throws IOException...{
         File file=new File(path);
         if(!file.exists()||file.isDirectory())
             throw new FileNotFoundException();
         FileInputStream fis=new FileInputStream(file);
         byte[] buf = new byte[1024];
         StringBuffer sb=new StringBuffer();
         while((fis.read(buf))!=-1)...{
             sb.append(new String(buf));   
             buf=new byte[1024];//重新生成,避免和上次读取的数据重复
         }
         return sb.toString();
     }
2.利用BufferedReader读取

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


     /** *//**读文件
      * @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();
     }


     3.利用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.创建文件夹   /** *//**创建文件夹
      * @param path   目录
      */
     public void createDir(String path)...{
         File dir=new File(path);
         if(!dir.exists())
             dir.mkdir();
     }
2.创建新文件 /** *//**创建新文件
      * @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.删除文件      /** *//**删除文件
      * @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()方法删除目录时,必须保证该目录下没有文件或者子目录,否则删除失败,因此在实际应用中,我们要删除目录,必须利用递归删除该目录下的所有子目录和文件,然后再删除该目录。   /** *//**递归删除文件夹
      * @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();
         }
     }

来自: http://hi.baidu.com/0%5Fnet/blog/item/8566fc2bb730c293033bf63e.html
分享到:
评论

相关推荐

    Java文件读写操作大全.pdf

    本文将详细讲解Java中实现文件读写、复制、重命名以及转移文件目录的方法。 首先,我们来看如何获取控制台用户输入的信息。在Java中,我们可以使用`System.in.read()`方法来读取标准输入流中的数据。如代码所示,...

    java文件读写操作

    在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取、写入以及一些常见的应用场景。 首先,Java提供了java.io...

    java实现文件的读写操作

    总结,Java中的文件读写操作涉及到多个类和接口,理解并熟练运用它们是每个Java开发者必备的技能。通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现...

    java 二进制文件的读写操作

    ### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...

    JAVA 文件读写操作

    ### JAVA 文件读写操作 #### 一、使用 InputStream 和 OutputStream 进行文件读写 在 Java 开发过程中,文件的读写操作是非常基础且重要的功能之一。从 JDK 1.0 开始,Java 提供了两种主要的方式来处理文件读写:`...

    Java文件读写操作有清晰注解

    以上就是Java文件读写操作的基础知识,包括核心类的使用、异常处理、资源关闭以及一些优化策略。如果你是初学者,这个例子将帮助你理解基本操作;如果你已经是高手,可能已经对这些了如指掌,但回顾基础知识总是有益...

    java 文件读写

    在这个场景中,我们关注的是“java文件读写”,特别是读取`properties`配置文件和处理目录及文件的操作。下面我们将详细探讨这两个主题。 首先,`properties`配置文件是Java应用中常用的一种存储配置信息的方式。...

    Java 中对文件的读写操作之比较

    #### 一、JDK 1.0 中的文件读写操作 在JDK 1.0 中,主要依赖于`InputStream`和`OutputStream`两个基类来实现文件的读写功能。 1. **读操作**: - 使用`FileInputStream`作为文件的句柄,通过该类可以实现对文件的...

    java读写文件操作大全.txt

    根据给定文件的信息,我们可以深入探讨Java中读写文件的...以上就是从给定文件信息中提炼出的关于Java文件读写操作的详细知识点,涵盖了基本的读写方法以及一些高级用法,希望对理解和掌握Java文件I/O操作有所帮助。

    Java文件读写.pdf

    Java文件读写是Java编程语言中基础且重要的操作,用于处理磁盘上的数据。本文将详细探讨Java如何进行文件读写,并提供相关的示例代码。 首先,读取文件时,Java提供了多种类来实现这一功能。`FileInputStream`是...

    读写文件操作demo-java

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要...

    java 随机读写Java类文件

    在Java编程中,随机读写Java类文件是一个高级主题,涉及到对字节码级别的操作,通常用于类的动态加载、代码注入或者逆向工程等场景。以下是对这一主题的详细阐述: 1. **Java类文件结构**:首先,了解Java类文件的...

    JAVA 操作文件,读写。

    在Java编程语言中,文件操作是一项基础且重要的任务,涵盖了读取、写入、复制、移动和删除等操作。在这个程序中,我们关注的是如何使用Java的IO流(Input/Output Stream)来读取多个TXT文件的内容,并将其合并到一个...

    Java流(文件读写操作)

    ### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...

    最简单易懂的一个java读写文件的操作

    总结来说,这个简单的Java文件读写示例展示了如何使用IO流进行文件操作。通过`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件,结合`newLine()`方法处理换行,我们可以实现对...

Global site tag (gtag.js) - Google Analytics