`
xurichusheng
  • 浏览: 345098 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java.io 文件操作

    博客分类:
  • java
阅读更多
/**
	 * @Title: writeFile
	 * @Description: 写文件
	 * @param @param srcPath : 源文件路径
	 * @param @param targetPath : 目标文件路径
	 * @return void    返回类型
	 */
	public static void writeFile(String srcPath, String targetPath){
		
		File srcFile = new File(srcPath);		
		File targetFile = new File(targetPath);
		
		if (!targetFile.exists()){
			try {
				//targetFile.mkdirs();
				targetFile.createNewFile();
			} catch (IOException e) {
				log.error("CommonMethods.writeFile() error", e);
			}
		}
		
		FileInputStream fs = null;
		FileOutputStream fo = null;
		
		try {
			
			fs = new FileInputStream(srcFile);			
			
			fo = new FileOutputStream(targetFile);
			
			byte[] buf = new byte[1024];
			
			int len;
			
			while ((len=fs.read(buf)) != -1){
				fo.write(buf, 0, len);
			}
			
			log.info("writeFile seccuss.");
			
		} catch (FileNotFoundException e) {
			log.error("read file '"+srcPath+"' error.", e);
		} catch (IOException e){
			log.error("read file '"+srcPath+"' error.", e);
		} catch(Exception e){
			log.error("occur others exception.", e);
		} finally{
			closeIOStream(fs, fo);
		}
	}
	
	/**
	 * @Title: readFile
	 * @Description: 读取文件内容
	 * @param @param path : 文件路径
	 * @param @return    设定文件
	 * @return String    返回类型
	 */
	public static String readFile(String path){
		
		File file = new File(path);
		
		if (!file.exists()){
			log.error("the file path '"+path+"' dose not exitst");
			return null;
		}
		
		StringBuffer buf = new StringBuffer(1024);
		byte[] b = new byte[1024];
		
		FileInputStream is = null;
		
		try {
			is = new FileInputStream(file);
			
			while ((is.read(b)) != -1){
				buf.append(new String(b));
				b = new byte[1024];
			}
			
		} catch (FileNotFoundException e) {
			log.error("the file path '"+path+"' dose not exitst", e);
		} catch (IOException e){
			log.error("read file error.", e);
		} finally{
			closeIOStream(is, null);
		}
		
		return String.valueOf(buf);
	}

       /**
	 * @Title: closeIOStream
	 * @Description: 释放资源、输入流和输出流
	 * @param is
	 * @param os
	 * @return void
	 */
	public static void closeIOStream(InputStream is, OutputStream os){
		
		if (null != os){
			try {
				os.close();
			} catch (IOException e) {
				log.error("close OutputStream error.", e);
			}
		}
		
		if (null != is){
			try {
				is.close();
			} catch (IOException e) {
				log.error("close InputStream error.", e);
			}
		}
	} 
分享到:
评论

相关推荐

    java.io.Reader 和 java.io.InputStream 的区别

    在深入探讨`java.io.Reader`与`java.io.InputStream`的具体差异之前,我们首先需要理解这两者在Java I/O操作中的基础角色。`java.io.Reader`和`java.io.InputStream`是Java标准库中处理输入数据的核心类,它们分别...

    java.io.FileNotFoundException: *****(Too many open files)

    在Java编程中,"java.io.FileNotFoundException: ***** (Too many open files)" 是一个常见的错误,意味着程序尝试打开的文件数量超过了操作系统...在编写和优化涉及大量文件操作的Java程序时,这些知识是至关重要的。

    Java.nio 与Java.io比较

    Java.io中还有专门针对非流式文件I/O的部分,这部分涵盖了文件的创建、删除、重命名等高级操作。`File`类帮助编写跨平台的代码,用于检查和操作文件和目录。 ### Java.nio简介 Java.nio(New I/O)是Java 1.4版本...

    java_io.rar_java 文件操作_java 读取 本地文件_java.io转动_文件操作

    本资源“java_io.rar”提供了关于如何在Java中进行文件操作的示例代码,包括读取、移动、删除和复制文件等常见任务。我们将深入探讨这些主题,以便更好地理解Java I/O API的使用。 首先,让我们从读取本地文件开始...

    java.io包讲解

    通过对Java.io包的学习,我们可以了解到Java如何处理复杂的输入输出操作。通过合理的使用各种流类,开发者可以高效地完成文件的读写任务,同时也能够更好地管理资源,避免内存泄漏等问题的发生。在实际开发中,理解...

    java.io的基础应用

    在实际开发中,Java.IO不仅限于简单的文件操作,还包括网络通信(如Socket编程)、标准输入输出、序列化和反序列化、数据压缩和解压缩等。例如,`DataInputStream`和`DataOutputStream`用于处理基本数据类型的读写,...

    用java写socket.io客户端所需jar包

    目前,Java社区有多个针对Socket.IO的实现,如`java-socket.io-client`和`socket.io-client-java`等。这些库通常会提供API,让你能够轻松地与Socket.IO服务器进行交互。 1. **java-socket.io-client**:这是一个...

    lumenworks.framework.io.Dll

    lumenworks.framework.io.dll就是这样一款跨语言的动态链接库(DLL),它专为C#、C++和Java等编程语言设计,同时也适用于数据爬取相关的应用。本文将深入探讨lumenworks.framework.io.dll的核心特性、使用场景以及与...

    java.io包详细解说

    这个包包含了大量类和接口,它们提供了各种输入输出流、字符编码、数据转换以及文件操作等功能。Java IO的设计采用了Decorator模式,使得在不修改原有类的基础上,能够动态地增加新功能。 Decorator模式是一种设计...

    文件路径正确,报java.io.FileNotFoundException异常的原因及解决办法

    在Java开发过程中,使用文件I/O操作时遇到java.io.FileNotFoundException异常是一个比较常见的问题。即使文件路径正确无误,也可能会因为多种原因导致这个异常的发生。该异常属于编译时异常,即必须显式处理才能通过...

    Java IO 基础操作(文件读写和移动)

    本文将深入探讨Java中的基本文件操作,包括文件的移动、读写以及文本文件的读写。 首先,让我们从文件操作开始。在Java中,我们可以使用`java.io.File`类来创建、删除、重命名或检查文件是否存在。例如,创建一个新...

    Java简单的文件IO程序

    在压缩包中,`fileIO.JPG`可能是程序运行时的截图,可能展示了上述代码执行后的结果,如读取或写入的文件内容,或者显示了文件操作的步骤。由于没有实际图片数据,我们无法详细分析其内容,但这些截图可以帮助初学者...

    rxtx-2.1.7.jar串口通信gnu.io包不存在问题

    在Java编程环境中,进行串口通信时,常常会遇到一个问题:缺少`gnu.io`包,导致无法正常编译或运行程序。这个问题主要出现在使用RXTX库进行串口操作的项目中。RXTX是一个开源的Java库,它提供了与硬件进行串行通信的...

    java socket.io 0.8.3

    Java Socket.IO 0.8.3 是一个针对Java平台的实时通信库,它基于WebSocket协议,同时也支持多种其他传输方式,以确保数据在客户端和服务器之间的无缝交互。这个版本是通过Maven管理的,这意味着它可以方便地与其他...

    org.apache.commons.io 的jar包大全

    Apache Commons IO 是一个Java库,它提供了一系列与输入/输出流、文件操作、I/O utility类等相关的实用工具。这个库极大地简化了处理输入和输出流的复杂性,并且提供了许多方便的功能,使得在Java项目中进行IO操作...

    java.io包中的File类.doc

    `java.io.File`类是Java标准库中的一个重要组成部分,它提供了对文件系统进行基本操作的能力。`File`类位于`java.io`包中,它是唯一代表磁盘文件本身的对象。通过`File`类,开发者可以轻松地创建、删除文件或目录,...

    北大青鸟java.io经典例子

    2. **文件操作**: - `File`类:用于文件和目录的创建、删除、重命名等操作。 - `FileInputStream`与`FileOutputStream`:用于读取和写入文件的字节流。例如,我们可以用`FileInputStream`打开一个文件,然后通过`...

    org.apache.commons.io 包

    Apache Commons IO 的设计目标是简化和增强Java的I/O操作,使得开发者能够更专注于业务逻辑,而不是底层的文件操作细节。通过使用这个库,你可以编写出更加高效、健壮且易于维护的代码。在实际项目中,尤其是在处理...

Global site tag (gtag.js) - Google Analytics