`
生死格斗
  • 浏览: 127635 次
  • 性别: 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
分享到:
评论

相关推荐

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    java 操作文件工具类 java 操作文件工具类

    java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    JAVA 音频文件PCM转WAV Utils类

    总之,"JAVA 音频文件PCM转WAV Utils类"是Java音频处理领域的一个实用工具,它简化了音频格式转换的过程,使得开发人员可以更方便地在不同音频格式之间进行转换,特别是在需要从基本的PCM数据创建WAV文件的场合。

    java实现wav文件转成mp3文件

    Java实现将WAV文件转换为MP3文件是一个常见的音频...总的来说,Java实现WAV转MP3涉及到音频编码理论、特定的编码库以及Java编程技巧。通过理解这些知识点,你可以创建自己的音频处理工具,实现各种音频格式之间的转换。

    Java文件操作封装类

    Java文件操作封装类

    java调用window操作系统文本转语音并生成播放文件

    在Java编程环境中,调用Windows操作系统来实现文本转语音(Text-to-Speech, TTS)并生成播放文件是一项常见的需求。这项技术可以帮助开发者为应用程序添加语音合成功能,尤其适用于无障碍应用、语音助手或者多媒体...

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    java文件操作大全

    如何在Java中操作文件呢?转载供大家欣赏

    Java实现doc文件转成docx文件

    Apache POI提供了一系列类和方法来读取、写入以及操作这些文件。 首先,确保已经将Apache POI库添加到项目依赖中。在Eclipse这样的开发环境中,可以通过Maven或Gradle来管理依赖。在Maven的`pom.xml`文件中添加以下...

    doc2docx 文件类型转换 java后台

    Java作为一个广泛使用的编程语言,其强大的库支持使得文件操作变得简单。在描述中提到的“java代码编写”,暗示了我们可能会用到Apache POI库,这是一个用于读写Microsoft Office格式文件的开源Java API。Apache POI...

    Java转Pas文件官方工具(delphi的Pas文件)

    总的来说,"Java转Pas文件官方工具"为Java和Delphi之间的代码互操作提供了一个桥梁,它允许开发者利用Java的丰富库和工具集来增强Delphi项目,同时也能让Java开发者更轻松地进入Delphi开发领域。通过深入理解和有效...

    JAVA代码实现远程操作服务器文件

    Session是一个远程服务器文件操作的会话,可以实现文件的移动、复制、删除等操作。通过使用Session,可以实现远程服务器文件的操作。 6. 使用InputStream和BufferedReader实现命令执行结果的获取 InputStream和...

    java实现对文件的各种操作的工具类.md

    # java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...

    java ceb转pdf demo

    可能的方法包括通过JNI(Java Native Interface)调用本地库,或者利用像JNA(Java Native Access)这样的库来与操作系统底层交互。 2. **c2p_dll 2.dll**:这是一个动态链接库文件,很可能是用来处理CEB到PDF转换...

    在java程序中实现wav文件转MP3

    此外,如果要在跨平台上运行,可能还需要处理不同操作系统下的路径分隔符和LAME可执行文件的路径。 在Java中调用外部工具有一定的安全风险,因为它们可能会暴露于命令注入攻击。因此,确保在传递给`exec()`的参数中...

    java 移动文件.

    "Java 文件操作" Java 文件操作是 Java 编程语言中的一种基本操作,包括文件的移动、复制、删除、剪切等。下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下...

    java转js工具

    它可能包含源代码、配置文件或使用指南,帮助用户进行转换操作。 - 使用此类工具通常需要了解其输入和输出格式,以及如何处理可能的转换问题,例如Java的多线程和静态方法在JavaScript中可能的替代方案。 5. **...

    java 实现 JPG图像文件转换TIFF文件 有源码。有工程

    通过使用这个库,我们可以方便地在Java中读取、写入和操作TIFF文件。 3. **JPG到TIFF转换步骤**: - **读取JPG文件**:使用`ImageIO.read()`方法读取JPG文件到`BufferedImage`对象。 - **创建TIFF输出流**:创建...

    smali2java——直接将smali转换成java

    **标题与描述解析** 标题"smali2java——直接将smali转换成java"揭示了本文的核心主题,即一个名为"smali2...尽管在压缩包中的"Smali2Java"可能是工具的可执行文件,实际使用时还需要结合相关文档或说明来正确操作。

Global site tag (gtag.js) - Google Analytics