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`类操作实例的详细说明: 1. **创建...
Unity3D FileInfo类和File类是 Unity3D 中的两个重要的文件操作类,它们都是System.IO 命名空间下的类,提供了文件操作的功能。下面我们将详细介绍这两个类的使用和区别。 FileInfo类是 Unity3D 中的一个实例类,...
本文将详细解析标题中的"FILE_CLASS.rar_c++文件操作类_file cla",并根据描述中提到的“用c写了文件操作类,比较好用,可以方便的操作文件”来探讨C++中自定义文件操作类的设计与实现。 首先,让我们理解C++中标准库...
下面我们将详细探讨C++中的FILE类、文件操作类以及INI文件的处理方法。 C++标准库中的`<fstream>`头文件包含了`std::ifstream`(输入文件流)和`std::ofstream`(输出文件流)类,它们是基于FILE类的基础,用于进行...
C#中的`File`类是.NET Framework提供的一种强大工具,用于执行各种文件操作。它包含了一系列静态方法,使得开发者能够方便地读取、写入、创建、删除和处理文件。在这个实例详解中,我们将深入探讨`File`类的主要功能...
通过输入文件地址和目标地址,对文件的复制操作,通过输入File对象和目标File对象,对文件的辅助操作
Java 中的 File 类是 java.io 包中的一员,它提供了对文件和文件夹的操作。下面是对 File 类的使用方法的详细讲解。 构造函数 File 类有多个构造函数,分别是: * `public File(String pathname)`: 通过文件路径...
在Java编程语言中,`java.io.File`类是一个非常重要的类,它提供了对文件和目录路径名的抽象表示,并且支持一些基本的操作,例如创建、删除文件或目录等。本文将详细介绍`File`类中的常用构造方法及方法,并给出相应...
Java中的`File`类是Java标准库中用于处理文件和目录的一个重要类,它提供了丰富的API来获取和操作文件及目录的信息。以下是对`File`类及其相关知识点的详细解析: ### File和路径的概念 在Java中,`File`类主要...
在分析`FileManager.java`的源代码时,我们可以学习到如何设计和实现一个文件操作类,包括错误处理策略、资源管理以及可能的线程安全考虑。此外,如果类中包含了与Apache Commons IO库的集成,那么我们可以看到如何...
file应用实例,列举了file类的常用方法,用代码实例操作!
"FileEdit"是一个自定义的文本文件操作类,它扩展了基本的文件操作功能,提供了更便利的方法来处理文本数据。下面将详细介绍这个类的可能实现及其相关知识点。 首先,`FileEdit.cpp`和`FileEdit.h`是C++编程中的源...
通过`File`类,我们可以执行一系列与文件和目录相关的操作,如创建、删除、重命名文件以及获取文件的各种属性等。 #### 二、构造方法 `File`类提供了多种构造方法,用于根据不同的输入创建`File`对象: 1. **无参...
Java中的`File`类是Java.io包中的核心类,它提供了在操作系统级别操作文件和目录的能力。`File`类主要用于文件和目录路径名的表示和操作,而不涉及文件的读写。下面我们将深入探讨`File`类的主要特性和常用方法。 1...
这里我们关注的是一个名为"C++ FTP操作类"的主题,它提供了对FTP协议的封装,使得在C++程序中执行FTP操作变得更加简便。 首先,我们来看一下`Ftp.cpp`和`Ftp.h`这两个文件。`Ftp.h`通常包含了FTP操作类的定义,而`...
"Java文件操作类File实现代码详解" Java文件操作类File实现代码是Java中最基本的文件操作类,它提供了对文件和目录的创建、重命名、删除、文件列表的操作以及判读是否存在等功能。 概述 Java文件操作类File实现...
### Visual C# File类常用的文件操作方法 在.NET框架中,`System.IO`命名空间下的`File`类是一个非常重要的工具,它为开发者提供了多种静态方法来执行与文件相关的操作,如创建、复制、移动、删除文件等。下面将...
总结,`File`类在Android开发中扮演着重要角色,它使得开发者能够方便地管理和操作文件系统,无论是简单的文件创建、删除,还是复杂的文件遍历和读写操作,都离不开`File`类的支持。理解和熟练使用`File`类,是成为...