`
fz8224
  • 浏览: 22986 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

常用IO方法

    博客分类:
  • Java
 
阅读更多
public class FileUtil {

    static Logger log = Logger.getLogger(FileUtil.class);
    
    public static String readFile(InputStream is) throws IOException{
        
        if(is==null) return null;
        
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        
        String tmp = "";
        String result = "";
        
        try {
            while((tmp = reader.readLine()) !=null)
                if(tmp.length() > 0)
                    result = result + tmp.trim();
        }
        catch (IOException e) {
           throw e;
        }
        finally {
            reader.close();
        }
        
        return result;
    }
    
    public static String readFile(String path) throws IOException{
        
        InputStream is = null;
        
        try {
            is = new FileInputStream(path);
            return readFile(is);
        }
        catch (IOException e) {
            throw e;
        }
        finally {
            is.close();
        }
   
    }
    
    public static boolean removeFile(String path){
        
        return removeFile(path, true);
 
    }
    
    public static boolean removeFile(String filePath, boolean removeParent){  
        
        boolean isdelete = false;
        File file = new File(filePath);
        if(file.exists()){
            isdelete = file.delete();
            
            if(removeParent){
                File parent = file.getParentFile();
                if(parent!=null){
                    if(parent.listFiles()==null || parent.listFiles().length==0){
                        removeFile(parent.getPath(), removeParent);
                    }
                }
            }
        }
        return isdelete;
        
    }
        
    public static void writeFile(String path, String content) throws IOException{
        
        File file = new File(path);
        FileWriter fw = null;
        try {
            fw = new FileWriter(file, true);
            fw.write(content);
            fw.flush();
        }
        catch (IOException e) {
            throw e;
        }
        finally{
            fw.close();
        }
    
    }
      
    public static boolean copyFile(String filePath, String backupPath) throws IOException{
        
        BufferedInputStream reader = null;
        PrintStream out = null;
            
        File file = new File(filePath);
        if(file.exists()){
            
            try {
                reader = new BufferedInputStream(new FileInputStream(file));

                String directory = backupPath.substring(0, backupPath.lastIndexOf("/") + 1);
                
                File tempfile = new File(directory);
                if(!tempfile.exists()){
                    tempfile.mkdirs();
                }
                
                File backupFile = new File(backupPath);
                out = new PrintStream(new BufferedOutputStream(new FileOutputStream(backupFile)));
     
                byte[] b = new byte[2048];
                
                while((reader.read(b, 0, b.length))!=-1){
                    out.write(b);
                }
                out.flush();
            }
            catch (FileNotFoundException e) {
                e.printStackTrace();
                return false;
            }
            catch (IOException e) {
                e.printStackTrace();
                return false;
            }
            finally {          
                reader.close();
                out.close();
            }

        } else {
            log.error("文件" + filePath + "在当前路径下不存在!");
            return false;
        }        
        return true;
        
    }
    
}

分享到:
评论

相关推荐

    java.io常用方法(基本)

    我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类

    常用IO芯片引脚说明

    常用IO芯片引脚 主板IO图纸之-w83977EF 主板IO图纸之-w83877ATF 主板IO图纸之-w83697HF 主板IO图纸之-w83627THF 主板IO图纸之-W83627SF 主板IO图纸之-w83627HF

    ABB机器人常用IO板大全.docx

    下面将详细介绍一下ABB机器人常用的IO板及其功能。 1. **数字输入板(Digital Input Board)**: 数字输入板用于接收来自外部系统的数字信号,例如限位开关、按钮或传感器的开/关状态。这些信号通常为二进制形式,...

    AB常用IO接线大全.rar

    标题中的“AB常用IO接线大全”指的是Allen Bradley(AB)公司的I/O模块接线的综合指南。Allen Bradley是美国Rockwell Automation旗下的知名品牌,主要生产工业自动化设备,尤其是PLC(可编程逻辑控制器)产品。这个...

    AB全系列常用IO接线大全

    总之,AB全系列常用IO接线大全为技术人员提供了一套详细的接线方法和安全指南,是使用AB系列PLC时不可或缺的参考资料。通过对各个型号I/O模块的理解和正确的接线操作,可以确保整个控制系统的可靠运行。

    JavaIO的常用方法.docx

    - 字节输出流(OutputStream):OutputStream 是所有字节输出流的抽象基类,提供了写入字节数据的基本方法。例如,`FileOutputStream` 是字节输出流的一个具体实现,用于向文件写入字节数据。以下是一个使用 `...

    Java IO commons-io-2.5.jar

    `commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准IO库的类和方法。这个库为开发者提供了更高效、更便捷的方式来执行常见的文件、目录和流操作。 一、Java IO 基础 Java IO ...

    draw.io画图工具和一些模板。

    **draw.io:一款免费开源的在线绘图工具** draw.io是一款功能强大的在线绘图工具,专为需要绘制各种图表和图形的用户设计。它提供了一个简单易用的界面,允许用户无需任何专业技能就能创建出专业级别的图表。无论是...

    android io输入输出常用

    适用于初学者 io输入输出的简单方法 对初学者很用用处

    电脑常用IO芯片F71883FG的Datesheet

    ### 电脑常用IO芯片F71883FG的Datesheet关键知识点解析 #### 一、概述 在电脑硬件领域,尤其是主板设计中,IO控制芯片扮演着至关重要的角色。本文将详细介绍F71883FG这款电脑主板常用IO控制芯片的相关知识点,包括...

    常用java IO操作以及用jxl读写excel 工具源代码

    Java IO操作是Java编程中非常基础且重要的部分,它提供了对输入输出流的处理,使得程序能够与外部设备(如硬盘、网络、键盘、显示器等)进行数据交换。本工具结合了Java IO操作和JXL库,实现了读取Excel文件并进行...

    java io包中简单的常用类使用

    本篇文章将深入探讨`java.io`包中一些常用的类,并通过实例来展示它们的使用方法。 1. **InputStream 和 OutputStream**: - `InputStream` 是所有字节输入流的超类,代表一个字节序列的输入源。常见的子类有 `...

    IO流——文件操作字节流常用方法一览

    本文将详细解析文件操作字节流的常用方法,包括输入字节流`FileInputStream`和输出字节流`FileOutputStream`。 1. 文件操作输入字节流 `FileInputStream` `FileInputStream` 是Java中用于处理二进制数据输入的类,...

    io包中常用类的作用、重要方法及类之间的继承关系

    ### io包中常用类的作用、重要方法及类之间的继承关系 #### 一、概述 Java的`io`包提供了大量的类来处理输入/输出操作,包括文件读写、网络通信等场景。这些类的设计遵循了良好的面向对象设计原则,通过抽象类和...

    ABB机器人IO基本操作和接线练习【详解】.docx

    当机器人重启后,默认会显示设定的常用IO信号,无论是在手动还是自动模式下,无需人工干预即可显示。 ##### 2. 设定步骤 - **步骤1**:通过ABB菜单进入**控制面板**,找到**常用IO配置**选项。 - **步骤2**:配置...

    JAVA IO同步,异步

    其中,signal driven IO 在实际中并不常用,因此这里只讨论剩下的四种IO 模型。 总结 在本文中,我们讨论了基于系统底层通信技术Socket 的JAVA IO同步和异步操作,包括阻塞和非阻塞IO 操作。同步IO 是指应用程序在...

    java中的IO的基础教学(1)

    三、常用IO流类 1. FileInputStream和FileOutputStream:分别用于读取和写入文件的字节流。 2. FileReader和FileWriter:用于读取和写入文件的字符流,基于Unicode编码。 3. BufferedReader和BufferedWriter:用于...

    common-io.jarcommon-io.jar

    Apache Commons IO是Java开发中常用的一个开源库,其核心组件是`common-io.jar`,这个库提供了大量的实用工具类,用于处理日常的输入/输出(I/O)操作。在Java标准库中,I/O操作虽然已经提供了一定的支持,但Apache ...

    单片机C语言实例--3-IO输出-点亮多个LED灯方法1.zip

    在"点亮多个led灯方法1.c"源代码文件中,我们可以预期会看到对单片机IO端口的配置和LED灯状态的控制代码。IO端口是单片机与外部世界交互的通道,通过设置端口的输出电平,我们可以控制LED灯的亮灭。 IO输出_Opt.Bak...

    java io最简java io

    在这个主题中,我们将深入探讨Java IO的基本概念、核心类以及常用的操作。 1. **基本概念** - **流(Stream)**: Java IO基于流的概念,流是数据的序列,可以是字节流或字符流,用于读取或写入数据。 - **节点流...

Global site tag (gtag.js) - Google Analytics