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

File操作类

    博客分类:
  • java
阅读更多
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

/**
 * 
 * @author 
 * @since 
 */
public class FileUtil {

	public static List<File> getAllFile(String root){
		List list=new ArrayList();
		getAllFile(list,root);
		return list;
	}
	
	private static void getAllFile(List<File> list, String root) {
		File f = new File(root);
		if (f.isDirectory()) {
			File[] fList = f.listFiles();
			for (int j = 0; j < fList.length; j++) {
				if (fList[j].isDirectory()) {
					getAllFile(list, fList[j].getPath());
				}
				if (fList[j].isFile()) {
					list.add(fList[j]);
				}
			}
		}else{
			list.add(f);
		}
	}

	public static String readFile(String filePath, String charsetname) {
		try {
			FileInputStream fileInputStream = new FileInputStream(filePath);
			StringBuffer buffer = new StringBuffer();
			String line;
			BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream, charsetname));
			line = reader.readLine();
			while (line != null) {
				buffer.append(line);
				buffer.append("\n");
				line = reader.readLine();
			}
			String text= buffer.toString();
			reader.close();
			return text;
		} catch (Exception ex) {
			throw new RuntimeException(ex);
		}
	}

	public static String readFile(String filePath) {
		return readFile(filePath, "UTF-8");
	}

	/**
	 * 生成文件
	 * 
	 * @throws IOException
	 */
	public static String createClass(String projectPath, String packageName, String className, String content)
			throws IOException {
		String directory = projectPath + "/src/" + packageName.replaceAll("\\.", "/") + "/";
		File directoryFile = new File(directory);
		directoryFile.mkdirs();
		String fileName = directory + "/" + className + ".java";
		return createFile(fileName, content);
	}

	public static String createFile(String fileName, String content) {
		try {
			File file = new File(fileName);
			
			String dir=getDir(fileName);
			File dirFile=new File(dir);
			dirFile.mkdirs();
			
			OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
			BufferedWriter bufferedWriter = new BufferedWriter(osw);
			bufferedWriter.write(content);
			bufferedWriter.flush();
			bufferedWriter.close();
			return fileName;

		} catch (Exception ex) {
			throw new RuntimeException(ex);
		}

	}

	public static String getName(String fileName) {
		int start = fileName.lastIndexOf('\\');
		if (start == -1) {
			start = fileName.lastIndexOf('/');
		}
		int end = fileName.lastIndexOf('.');
		return fileName.substring(start + 1, end);
	}

	public static String getFullName(String fileName) {
		int start = fileName.lastIndexOf('\\');
		return fileName.substring(start + 1);
	}

	public static String readClassPathFile(String fileName) {
		String path = FileUtil.class.getResource("/").getPath() + "/" + fileName;
		return readFile(path);

	}
	
	public static String getDir(String fileName){
		int index=fileName.lastIndexOf("/");
		if(index==-1){
			index=fileName.lastIndexOf("\\");
		}
		return fileName.substring(0,index);
	}
}

分享到:
评论

相关推荐

    java file类操作实例

    在Java编程语言中,`File`类是用于处理文件和目录的基本工具,它不直接进行读写操作,但提供了很多方便的功能,如创建、删除、重命名文件以及获取文件属性等。以下是对Java `File`类操作实例的详细说明: 1. **创建...

    Unity3D FileInfo类和File类的使用

    Unity3D FileInfo类和File类是 Unity3D 中的两个重要的文件操作类,它们都是System.IO 命名空间下的类,提供了文件操作的功能。下面我们将详细介绍这两个类的使用和区别。 FileInfo类是 Unity3D 中的一个实例类,...

    FILE_CLASS.rar_c++文件操作类_file cla

    本文将详细解析标题中的"FILE_CLASS.rar_c++文件操作类_file cla",并根据描述中提到的“用c写了文件操作类,比较好用,可以方便的操作文件”来探讨C++中自定义文件操作类的设计与实现。 首先,让我们理解C++中标准库...

    ini-File-Access-class.zip_C++ FILE类_c 文件操作类_ini

    下面我们将详细探讨C++中的FILE类、文件操作类以及INI文件的处理方法。 C++标准库中的`&lt;fstream&gt;`头文件包含了`std::ifstream`(输入文件流)和`std::ofstream`(输出文件流)类,它们是基于FILE类的基础,用于进行...

    C#的File类实现文件操作实例详解

    C#中的`File`类是.NET Framework提供的一种强大工具,用于执行各种文件操作。它包含了一系列静态方法,使得开发者能够方便地读取、写入、创建、删除和处理文件。在这个实例详解中,我们将深入探讨`File`类的主要功能...

    file文件操作工具类

    通过输入文件地址和目标地址,对文件的复制操作,通过输入File对象和目标File对象,对文件的辅助操作

    java中File类的使用方法 File类的

    Java 中的 File 类是 java.io 包中的一员,它提供了对文件和文件夹的操作。下面是对 File 类的使用方法的详细讲解。 构造函数 File 类有多个构造函数,分别是: * `public File(String pathname)`: 通过文件路径...

    java File类

    Java中的`File`类是Java标准库中用于处理文件和目录的一个重要类,它提供了丰富的API来获取和操作文件及目录的信息。以下是对`File`类及其相关知识点的详细解析: ### File和路径的概念 在Java中,`File`类主要...

    一个文件操作类。

    在分析`FileManager.java`的源代码时,我们可以学习到如何设计和实现一个文件操作类,包括错误处理策略、资源管理以及可能的线程安全考虑。此外,如果类中包含了与Apache Commons IO库的集成,那么我们可以看到如何...

    file类应用代码

    file应用实例,列举了file类的常用方法,用代码实例操作!

    FileEdit 自己写的文本文件操作类

    "FileEdit"是一个自定义的文本文件操作类,它扩展了基本的文件操作功能,提供了更便利的方法来处理文本数据。下面将详细介绍这个类的可能实现及其相关知识点。 首先,`FileEdit.cpp`和`FileEdit.h`是C++编程中的源...

    java中File类总结

    通过`File`类,我们可以执行一系列与文件和目录相关的操作,如创建、删除、重命名文件以及获取文件的各种属性等。 #### 二、构造方法 `File`类提供了多种构造方法,用于根据不同的输入创建`File`对象: 1. **无参...

    java中的File类

    Java中的`File`类是Java.io包中的核心类,它提供了在操作系统级别操作文件和目录的能力。`File`类主要用于文件和目录路径名的表示和操作,而不涉及文件的读写。下面我们将深入探讨`File`类的主要特性和常用方法。 1...

    C++FTP操作类

    这里我们关注的是一个名为"C++ FTP操作类"的主题,它提供了对FTP协议的封装,使得在C++程序中执行FTP操作变得更加简便。 首先,我们来看一下`Ftp.cpp`和`Ftp.h`这两个文件。`Ftp.h`通常包含了FTP操作类的定义,而`...

    Java文件操作类 File实现代码

    "Java文件操作类File实现代码详解" Java文件操作类File实现代码是Java中最基本的文件操作类,它提供了对文件和目录的创建、重命名、删除、文件列表的操作以及判读是否存在等功能。 概述 Java文件操作类File实现...

    Visual C# File类常用的文件操作方法

    ### Visual C# File类常用的文件操作方法 在.NET框架中,`System.IO`命名空间下的`File`类是一个非常重要的工具,它为开发者提供了多种静态方法来执行与文件相关的操作,如创建、复制、移动、删除文件等。下面将...

    Android中File类的定义与常用方法.pdf

    总结,`File`类在Android开发中扮演着重要角色,它使得开发者能够方便地管理和操作文件系统,无论是简单的文件创建、删除,还是复杂的文件遍历和读写操作,都离不开`File`类的支持。理解和熟练使用`File`类,是成为...

    java File文件处理工具类

    Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...

Global site tag (gtag.js) - Google Analytics