`

文件操作

 
阅读更多
/**
	 * 文件重命名
	 * @param from		源文件
	 * @param fileName	修改后的文件名
	 * @throws IOException 
	 */
	public void fileRename(String from, String fileName) throws IOException
	{
		//检查文件是否存在
		fileExists(from);
		
		//得到文件路径后组合新文件路径
		File file = new File(from);
		String path = file.getParent();
		String filePath = path + fileName;
		
		file.renameTo(new File(filePath));
	}
	
	/**
	 * 剪切文件
	 * @param from	剪切文件路径
	 * @param to	存放文件路径
	 * @throws IOException
	 */
	public void fileCut(String from, String to) throws IOException
	{
		//检查文件正确性
		fileCheck(from, to);
		
		//拷贝文件
		fileCopy(from, to);
		
		//删除原文件
		File toFile = new File(from);
		toFile.delete();
	}
	
	/**
	 * 复制文件
	 * @param from	复制文件路径
	 * @param to	存放文件路径
	 * @throws IOException
	 */
	public void fileCopy(String from, String to) throws IOException
	{
		//检查文件正确性
		fileCheck(from, to);

		//拷贝文件
		InputStream in = new FileInputStream(from);
		byte[] b = new byte[in.available()];
		in.read(b);
		in.close();
		
		//粘贴文件
		OutputStream out = new FileOutputStream(to);
		out.write(b);
		out.flush();
		out.close();
	}
	
	/**
	 * 检查文件正确性
	 * @param from
	 * @param to
	 * @throws IOException
	 */
	private void fileCheck(String from, String to) throws IOException
	{
		File fromFile = new File(from);
		File toFile = new File(to);
		
		//如果被复制文件不存在或者不是文件
		if(!fromFile.exists() || !fromFile.isFile())
		{
			throw new FileNotFoundException(from + " 文件不存在,请检查文件是否被移除");
		}
		
		//如果存放的文件名存在
		if(toFile.exists())
		{
			throw new IOException(to + " 文件名已存在,请重新输入文件名");
		}
	}
	
	/**
	 * 检查文件是否存在
	 * @param file
	 * @return
	 * @throws IOException 
	 */
	public void fileExists(String filePath) throws IOException
	{
		File file = new File(filePath);
		//如果存放的文件名存在
		if(!file.exists() || !file.isFile())
		{
			throw new FileNotFoundException(file + " 文件不存在,请检查文件是否被移除");
		}
	}
分享到:
评论

相关推荐

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作

    ### 知识点详解 #### 一、二级目录结构及其...通过以上分析可以看出,本实习通过模拟实现采用了二级目录结构的磁盘文件系统中的文件操作,不仅加深了对文件系统原理的理解,还锻炼了数据结构设计和算法实现的能力。

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作。

    模拟实现采用二级目录结构的磁盘文件系统中的文件操作。 文件系统是操作系统中管理和存取信息的机构,它具有“按名存取”的功能,不仅方便用户,而且能提高系统效率且安全可靠。 在用户程序中可使用文件系统提供的...

    C++文件操作工具类

    在实际编程过程中,处理文件操作是一项基础且重要的任务。"C++文件操作工具类"是一个专门为C++开发者设计的实用工具,它简化了对文件进行读写、创建、删除等操作的过程。 首先,我们要理解C++中的文件操作基本概念...

    电子科技大学linux环境编程作业2——李林——编写带缓存的文件操作类

    编写带缓存的文件操作类 从执行体程序库中的CLLogger类可知,通过缓存要写入文件中的数据,能够提高读写磁盘的性能 请编写一个文件操作的封装类,其要求如下: 需要提供open/read/write/lseek/close等函数的封装函数...

    VS之XML文件操作

    在Visual Studio(VS)中,XML文件操作是一个重要的开发任务,尤其对于处理数据存储、配置文件、序列化或数据交换等场景。XML(eXtensible Markup Language)是一种标记语言,它提供了结构化的数据表示方式,易于...

    C语言文件操作及函数大全

    C语言文件操作及函数大全 2.文件操作函数: (1)文件打开函数fopen fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen("文件名","使用文件方式"); 其中,“文件指针名”必须是被说明为FILE 类型的...

    21个文件操作VC 源码实例.rar

    收集了21个文件操作VC 源码实例,基础级别的VC 文件操作实例,获得INI文件指定段的全部键名和键值、文件对话框、临时文件创建、目录创建、获得INI文件的全部段名、查找文件、复制文件、获得或设置进程的当前目录、...

    Android JNI调用-文件操作

    在本教程中,我们将重点讨论如何通过JNI在Android应用中进行文件操作。 首先,要使用JNI,我们需要在Java类中声明native方法。例如,我们可以声明一个名为`readFileFromNative`的方法: ```java public class ...

    java文件操作类

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

    操作系统实验磁盘文件操作

    大学本科操作系统实验 《磁盘文件操作模拟C语言》,花了两天的时间调试。

    Unity中Android的文件操作

    原数据存放在StreamingAsset中,首次启动复制到persistentDataPath,以后进行更新和读取都在persistentDataPath中使用File进行文件操作。需要恢复书序的时候从StreamingAsset中获取即可。

    易语言文件操作类模块

    易语言文件操作类模块源码,文件操作类模块,取对象,取驱动器集合,追加路径,取驱动器名称,取父文件夹名称,取文件名,取不带扩展名的文件名,取扩展名,取完整路径名,取临时文件名,驱动器是否存在,文件是否存在,文件夹是否...

    c文件操作函数详解

    关于c的文件操作函数,详细的介绍,有利于查阅和学习....

    noip文件操作精讲

    Noip 文件操作精讲 Noip 文件操作是编程语言中最基本也是最重要的一部分,涉及到文件的输入输出操作。无论是 C 语言还是 C++ 语言,文件操作都是必不可少的。下面将对 Noip 文件操作进行详细的讲解。 文件操作的...

    C#编程 文件操作 FileCopyPlan(源码)(源码)

    C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)...

    js实现读写文件操作

    js实现的读写文件,文件放在的c:\12.txt里

    JSP文件操作

    JSP文件操作

    C#编程 文件操作 CreatePDFDocument(源码)(源码)

    C#编程 文件操作 CreatePDFDocument(源码)(源码)C#编程 文件操作 CreatePDFDocument(源码)(源码)C#编程 文件操作 CreatePDFDocument(源码)(源码)C#编程 文件操作 CreatePDFDocument(源码)(源码)C#编程 文件操作 ...

    C#编程 文件操作 ClearRecycle(源码)(源码)

    C#编程 文件操作 ClearRecycle(源码)(源码)C#编程 文件操作 ClearRecycle(源码)(源码)C#编程 文件操作 ClearRecycle(源码)(源码)C#编程 文件操作 ClearRecycle(源码)(源码)C#编程 文件操作 ClearRecycle(源码)(源码)...

    C#编程 文件操作 ReadFileByLine(源码)(源码)

    C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine...

Global site tag (gtag.js) - Google Analytics