import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class FileOperate {
private String message;
public FileOperate() {
}
/**
* 读取文本文件内容
* @param filePathAndName 带有完整绝对路径的文件名
* @param encoding 文本文件打开的编码方式
* @return 返回文本文件的内容
*/
public String readTxt(String filePathAndName,String encoding) throws IOException{
encoding = encoding.trim();
StringBuffer str = new StringBuffer("");
String st = "";
try{
FileInputStream fs = new FileInputStream(filePathAndName);
InputStreamReader isr;
if(encoding.equals("")){
isr = new InputStreamReader(fs);
}else{
isr = new InputStreamReader(fs,encoding);
}
BufferedReader br = new BufferedReader(isr);
try{
String data = "";
while((data = br.readLine())!=null){
str.append(data+" ");
}
}catch(Exception e){
str.append(e.toString());
}
st = str.toString();
}catch(IOException es){
st = "";
}
return st;
}
/**
* 新建目录
* @param folderPath 目录
* @return 返回目录创建后的路径
*/
public String createFolder(String folderPath) {
String txt = folderPath;
try {
java.io.File myFilePath = new java.io.File(txt);
txt = folderPath;
if (!myFilePath.exists()) {
myFilePath.mkdir();
}
}
catch (Exception e) {
message = "创建目录操作出错";
}
return txt;
}
/**
* 多级目录创建
* @param folderPath 准备要在本级目录下创建新目录的目录路径 例如 c:myf
* @param paths 无限级目录参数,各级目录以单数线区分 例如 a|b|c
* @return 返回创建文件后的路径 例如 c:myfac
*/
public String createFolders(String folderPath, String paths){
String txts = folderPath;
try{
String txt;
txts = folderPath;
StringTokenizer st = new StringTokenizer(paths,"|");
for(int i=0; st.hasMoreTokens(); i++){
txt = st.nextToken().trim();
if(txts.lastIndexOf("/")!=-1){
txts = createFolder(txts+txt);
}else{
txts = createFolder(txts+txt+"/");
}
}
}catch(Exception e){
message = "创建目录操作出错!";
}
return txts;
}
/**
* 新建文件
* @param filePathAndName 文本文件完整绝对路径及文件名
* @param fileContent 文本文件内容
* @return
*/
public void createFile(String filePathAndName, String fileContent) {
try {
String filePath = filePathAndName;
filePath = filePath.toString();
File myFilePath = new File(filePath);
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
String strContent = fileContent;
myFile.println(strContent);
myFile.close();
resultFile.close();
}
catch (Exception e) {
message = "创建文件操作出错";
}
}
/**
* 有编码方式的文件创建
* @param filePathAndName 文本文件完整绝对路径及文件名
* @param fileContent 文本文件内容
* @param encoding 编码方式 例如 GBK 或者 UTF-8
* @return
*/
public void createFile(String filePathAndName, String fileContent, String encoding) {
try {
String filePath = filePathAndName;
filePath = filePath.toString();
File myFilePath = new File(filePath);
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
PrintWriter myFile = new PrintWriter(myFilePath,encoding);
String strContent = fileContent;
myFile.println(strContent);
myFile.close();
}
catch (Exception e) {
message = "创建文件操作出错";
}
}
/**
* 删除文件
* @param filePathAndName 文本文件完整绝对路径及文件名
* @return Boolean 成功删除返回true遭遇异常返回false
*/
public boolean delFile(String filePathAndName) {
boolean bea = false;
try {
String filePath = filePathAndName;
File myDelFile = new File(filePath);
if(myDelFile.exists()){
myDelFile.delete();
bea = true;
}else{
bea = false;
message = (filePathAndName+"
删除文件操作出错");
}
}
catch (Exception e) {
message = e.toString();
}
return bea;
}
/**
* 删除文件夹
* @param folderPath 文件夹完整绝对路径
* @return
*/
public void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
}
catch (Exception e) {
message = ("删除文件夹操作出错");
}
}
/**
* 删除指定文件夹下所有文件
* @param path 文件夹完整绝对路径
* @return
* @return
*/
public boolean delAllFile(String path) {
boolean bea = false;
File file = new File(path);
if (!file.exists()) {
return bea;
}
if (!file.isDirectory()) {
return bea;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
}else{
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件
delFolder(path+"/"+ tempList[i]);//再删除空文件夹
bea = true;
}
}
return bea;
}
/**
* 复制单个文件
* @param oldPathFile 准备复制的文件源
* @param newPathFile 拷贝到新绝对路径带文件名
* @return
*/
public void copyFile(String oldPathFile, String newPathFile) {
try {
int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPathFile);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPathFile); //读入原文件
FileOutputStream fs = new FileOutputStream(newPathFile);
byte[] buffer = new byte[1444];
while((byteread = inStream.read(buffer)) != -1){
bytesum += byteread; //字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}catch (Exception e) {
message = ("复制单个文件操作出错");
}
}
/**
* 复制整个文件夹的内容
* @param oldPath 准备拷贝的目录
* @param newPath 指定绝对路径的新目录
* @return
*/
public void copyFolder(String oldPath, String newPath) {
try {
new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ((len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}catch (Exception e) {
message = "复制整个文件夹内容操作出错";
}
}
/**
* 移动文件
* @param oldPath
* @param newPath
* @return
*/
public void moveFile(String oldPath, String newPath) {
copyFile(oldPath, newPath);
delFile(oldPath);
}
/**
* 移动目录
* @param oldPath
* @param newPath
* @return
*/
public void moveFolder(String oldPath, String newPath) {
copyFolder(oldPath, newPath);
delFolder(oldPath);
}
public String getMessage(){
return this.message;
}
}
相关推荐
在IT行业中,将编程语言...以上就是关于"java代码文件转HTML"这个项目所涉及的主要知识点。通过实践这个项目,开发者不仅可以增强Java编程能力,还能深入理解正则表达式和文件处理,同时也能接触到前端开发的相关概念。
在这个场景中,我们关注的是一个名为"java代码统计工具"的应用,它专门用于统计.java文件中的代码行数和注释行数。这个工具包含了三个关键文件:`java代码统计工具.exe`是可执行程序,用户可以直接运行来执行统计;`...
一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。软件已破解,去除了未注册版最多只能转换1000行的...
### 删除SVN文件的Java代码知识点解析 #### 一、代码功能概述 本文将深入解析一个用于删除Subversion(简称SVN)版本控制系统中的`.svn`文件夹的Java程序。该程序通过递归的方式遍历指定目录下的所有子目录与文件,...
【描述】:“d盾,代码扫描工具,可以扫描文件java代码war包漏洞” Java代码的漏洞往往源于编程错误或设计缺陷,这些漏洞可能会被黑客利用,导致数据泄露、系统崩溃甚至整个网络被攻击。WAR包(Web Application ...
总的来说,这个Java源码项目提供了一个全面的实践平台,涵盖了文件操作的各个方面,包括基本的读写、图形用户界面的构建以及与用户交互的实现,对于学习和提升Java GUI编程和文件操作技能是非常有价值的。
总的来说,这个Java文件转换应用源码项目是一个全面的文件处理工具,涵盖了多种常见的文件格式转换需求。它展示了如何利用Java和其第三方库来处理复杂的文件操作,对于提升Java开发者的文件处理技能和实战经验具有很...
在项目`OfficeToHtml`中,很可能包含了实现这一转换功能的Java代码示例或库。这个项目可能包括了读取Excel文件,解析内容,生成HTML结构,以及可能的样式和格式处理。通过查看和学习这个项目,开发者可以更好地理解...
在这个“Java io的基本操作很全面的代码”项目中,我们可以看到一系列针对Java IO的实例,对于学习和理解Java IO有着极大的帮助。 首先,我们来看看Java IO的基础知识。Java IO主要包括以下几大核心类: 1. **...
通过上述技术的应用,Java代码管理器可以为开发者提供一套全面、可靠的代码管理解决方案,提升开发效率和团队协作能力。不过,实际的实现过程还需根据具体需求和设计来细化,包括用户界面设计、性能优化、错误处理...
本项目是一个全面涵盖Java核心技术的代码大全,设计源码包含164个文件,其中Java源文件89个,HTML文件29个,JSP文件8个,文本文件7个,JavaScript文件7个,XML文件5个,CSS文件4个,Map文件4个,Git忽略文件3个,...
5. 其他Java代码保护技术:除了代码混淆之外,还有其他一些Java代码保护技术,如隔离class文件、加密class文件、将class文件转换成本地程序等。隔离class文件提供统一接口但不直接暴露class文件,但不适用于单机运行...
通过结合PPT的讲解和实际代码的实践,学习者可以从理论到实践全面掌握Java编程。在学习过程中,建议先了解PPT中的概念,然后通过实例代码加深理解和应用。同时,不断实践和调试代码,将有助于巩固所学知识,并提升...
封装性:工具类封装了NFS相关的复杂连接、认证和I/O操作细节,使得业务层代码无需关心底层通信协议,只需通过简单API即可操作远程文件。 可配置性:允许灵活配置NFS服务器地址、挂载点以及其他相关参数,使工具类...
8. **使用说明**:`使用说明.txt`文件应该包含如何运行这些源代码,以及输入和输出格式的详细信息,对于理解和应用这些转换工具至关重要。 掌握这些知识和技术,可以帮助开发者处理跨坐标系的数据,尤其在中国的...
"JAVA代码大全的例子"提供了一套全面的实例,对于初学者来说是极好的学习资源。这个压缩包包含了一系列的Java代码示例,旨在帮助学习者理解和掌握Java编程的基本概念和高级特性。 首先,Java的核心特性包括类、对象...
下面是一个简单的Java代码示例,展示了如何使用Aspose.cad进行DWG到PDF的转换: ```java import com.aspose.cad.Image; import com.aspose.cad.SaveFormat; public class DwgToPdfConverter { public static void...
在Java编程语言中,创建一个全面的通讯录系统是一项常见的任务,这可以帮助我们理解面向对象编程、文件操作、数据持久化等核心概念。这个“java 代码全面通讯录 有报告”的项目,很可能是为了帮助开发者熟悉这些技能...
下面是一个简化的Java代码片段,展示了如何处理Java源文件的代码行统计: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class ...