`

File文件操作 大集合

阅读更多

package com.web.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class MyFile {

/**
* @param args
* main方法,进行测试使用
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
// copyFolder("D://file//a", "C://");
copyFile("D://file//a//新建文本文档.txt", "C:");
//makeFolderFile("C://file","a.txt");
//makeFolder("C://file");
//String line=readFileByInpuStream("D://file//a.txt");
String line=readLineFile("D://file//", "a.txt");
System.out.println(line);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

/**
* 创建一个文件夹
*
* @param folderName(文件夹的名称)
*/
public static boolean makeFolder(String folderName)throws IOException {
File file = new File(folderName);
if (!file.exists()) {
file.mkdir();
} else {
file.delete();
}
return true;
}

/**
* 创建一个文件 这个文件是没有上级目录的
*
* @param fileName
* (文件名称)
*/
public static boolean makeFile(String fileName) throws IOException {
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
return true;
} else {
// 文件已经存在,先进行删除,通过递归调用进行重新创建
file.delete();
makeFile(fileName);
return true;
}
}

/**
* 重载创建文件的方法 这个文件是有上级目录的
*
* @param folder(文件的目录)
* @param fileName(文件的名称)
*/
public static boolean makeFolderFile(String folder, String fileName)
throws IOException {
// 1.先创建文件目录
makeFolder(folder);
// 2.结合目录在创建文件
File file = new File(folder + "//" + fileName);
if (!file.exists()) {
file.createNewFile();
return true;
} else {
// 文件已经存在,先进行删除,通过递归调用进行重新创建
file.delete();
makeFolderFile(folder, fileName);
return true;
}
}

/**
* 字节流读取文件
*
* @param file
* 指定文件的位置和名称
*/
public static String readFileByInpuStream(String file) throws IOException {
String str = null;

FileInputStream fis = null;
try {
File f = new File(file);
fis = new FileInputStream(f);
byte[] bt = new byte[fis.available()];
fis.read(bt);
str = new String(bt);

} catch (Exception e) {
// TODO: handle exception
System.out.println("文件不存在,读取文件失败");
} finally {
fis.close();
}
return str;
}

/**
* 将单个字符串内容写入文本文件
*
* @param content(要写的文件的内容)
* @param filePath(文件的目录)
* @param fileName(文件)
*/
public static boolean writeFile(String content, String filePath,
String fileName) throws IOException {
if (null == content || "".equals(content)) {
System.out.println("写入的内容为空");
} else {
File f = new File(filePath+"//"+fileName);
FileWriter fw = new FileWriter(f);
fw.write(content);
fw.close();
}
return true;
}

/**
* 将字符串数组内容写入文本文件
*
* @param content(要写的文件的内容)
* @param filePath(文件的目录)
* @param fileName(文件)
*/
public static boolean writeFile(String[] args, String filePath,
String fileName) throws IOException {
if (args.length <= 0) {
System.out.println("写入的内容为空");
} else {
FileWriter fw = new FileWriter(filePath +"//"+ fileName);
PrintWriter out = new PrintWriter(fw);
for (int i = 0; i < args.length; i++) {
out.write(args[i]);
out.println();
out.flush();
}
fw.close();
out.close();
}
return true;
}

/**
* 读取文件中的所有内容
*
* @param filePath
* @param fileName
* @throws IOException
*/
public static String readAllFile(String filePath, String fileName)
throws IOException {
String str = "";
FileReader fr = new FileReader(filePath + fileName);
int count = fr.read();
while (count != -1) {
char c = (char) count;
str += String.valueOf(c);
count = fr.read();
if (count == 13) {
fr.skip(1);
}
}
fr.close();
return str;
}

/**
* 一行一行的读取文件中的数据
*
* @param filePath
* @param fileName
* @throws IOException
*/
public static String readLineFile(String filePath, String fileName)
throws IOException {
FileReader fr = new FileReader(filePath + fileName);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
StringBuffer sb=new StringBuffer();
while (line != null) {
sb.append(line);
line=br.readLine();
}
br.close();
fr.close();
return sb.toString();
}

/**
* 输出目录中的所有文件及目录名字
*
* @param filePath
*/
public static void readFolderByFile(String filePath) throws IOException {
File file = new File(filePath);
File[] tempFile = file.listFiles();
for (int i = 0; i < tempFile.length; i++) {
if (tempFile[i].isFile()) {
System.out.println("File : " + tempFile[i].getName());
System.out.println(tempFile[i].length() + "字节");
}
if (tempFile[i].isDirectory()) {
System.out.println("Directory : " + tempFile[i].getName());

readFolderByFile(filePath + "//" + tempFile[i].getName());
}
}
}

/**
* copy文件夹(文件目录)
*
* @param src(源文件的名称)
* @param dest(移动到的目标路径)
*/
public static boolean copyFolder(String srcFolderName, String dest)
throws IOException {
if (null == srcFolderName || "".equals(srcFolderName) || null == dest
|| "".equals(dest)) {
System.out.println("路径为空,无法复制");
return false;
} else {
File file = new File(srcFolderName);
String folderName;
if (file.isDirectory()) {
folderName = file.getName();
File f = new File(dest + "//" + folderName);
f.mkdir();
System.out.println("复制完成");
} else {
System.out.println("复制失败");
return false;
}
}
return true;
}

/**
* copy文件
*/
public static boolean copyFile(String srcFile, String destFolder)
throws IOException {
// makeFile
// makeFolderFile
String folder="";
String fileName;
File file = new File(srcFile); //file.getName()
//读取文件的内容
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
StringBuffer sb=new StringBuffer();
while (line != null) {
sb.append(line);
line = br.readLine();
}
br.close();
fr.close();

System.out.println(file.getName());
if(file!=null){
File f=file.getParentFile();
folder=f.getName();
if(f.getParentFile()!=null){

if(f.getParent()==null){
fileName=destFolder+"//"+folder;//+"//";+file.getName();
System.out.println(fileName);
makeFolderFile(fileName,file.getName());

//将要复制的文件的内容写入目标文件中
writeFile(new String[]{sb.toString()},fileName,file.getName());
}else{
fileName=destFolder+"//"+f.getParentFile().getName()+"//"+folder;
//makeFolderFile(fileName,file.getName());
System.out.println(fileName);
makeFolder(destFolder+"//"+f.getParentFile().getName());
makeFolder(fileName);
//makeFile(fileName+"//"+file.getName());
//将要复制的文件的内容写入目标文件中
writeFile(new String[]{sb.toString()},fileName,file.getName());
}
}
}
return true;
}


}

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    C# File文件操作

    C# 关于文件的操作。集合篇,源码分享

    文件操作方式集合源代码

    文件操作方式整理的源代码,VS2008的环境+XPsp3下调试通过。

    sql_and_File.rar_VC 文件操作

    一些常用知识!有关与vc中sql的使用和文件操作的文章集合.

    java-文件工具,可以查看文件类型,文件魔数,可以判断是否是视频文件,音乐文件,图片文件等等

    java文件的工具类,封装了常用的操作,尤其针对文件的实际类型,通过获取文件的byte,来查看文件起始字节的魔数值,通过魔数值来判断文件的类型,工具集合了常用的文件类型对应的魔数,也封装了文件类型的判断方法

    Python_Demo:python读取文件,写文件的一些操作集合

    python读取文件,写文件的一些操作集合里面有python操作excel表格一些操作,读取excel表格数据,把excel的数据写进txt文件等python解析json数据,并写进excel表格等python重命名文件,python预图片等python操作word...

    pb函数大集合

    DateTime() Send() 文件操作函数 IsAnyHebrew() IsNumber() SetProfileString() FileClose() IsArabic() IsTime() ShowHelp() FileDelete() IsArabicAndNumbers() Time() SignalError() FileExists() IsHebrew...

    13.第十三章 文件.txt

    文件操作是一种典型的IO操作(输入输出操作)。输入输出是针对内存而言的,进内存为输入,出内存为输出。 标准输入输出就是标准输入设备(键盘)和标准输出设备(显示器),键盘和显示器就是一种文件。C语言将文件...

    node-file-utils:异步节点文件系统实用程序的集合

    文件-常见的更高级别的文件和路径操作 安装 npm install file var file = require("file"); 原料药 file.walk(开始,回调) 导航文件树,为每个目录调用回调,并传入(空,dirPath,dirs,文件)。 file....

    开源免费文档转换工具 File Converter 1.2.3 中文免费版.zip

    File Converter 最重要的好处之一是对不同文件类型的支持,包括多媒体数据,图形内容和 Office 文档。兼容的输入格式列表包括一些最受欢迎的扩展名,以音频,视频和图像文件开头,以 Office 文档结尾。请注意,为了...

    Double File:检查您的文件集合:备份的内容; 磁盘使用情况。-开源

    但是,Double File是基于项目的:它将文件校验和保存在本地存储的目录列表中。 它促进了计算机和操作系统之间的计划和转换:对驱动器进行快照并对其进行安全归档。 当卷不在现场时,可以搜索列表。 可以读取Windows...

    Java Stream、File、IO.pdf

    Java Stream Java Stream 是 Java 8 中引入的一种...Java File 类是用于表示文件或目录的抽象路径名的类。它可以用于创建、删除、重命名和移动文件或目录。 以下是一些常用的 File 方法: ● exists():检查文件或目录

    Python生成随机密码并写入文件

    Python生成随机密码并写入文件需要的函数和操作函数或操作的基本使用方法最终代码思路...set.intersection(关于集合的操作) with Python3 File 函数或操作的基本使用方法 random.sample() 的函数原型为:random.samp

    Java 模拟文件管理器

    模拟文件管理器程序,实现控制台对文件和文件夹的管理操作。适合Java初学者,练习学习I/0输入输出,使用了IO中的File类、字符流和集合ArrayList等基础Java知识

    精品课件 Python从入门到精通 第13章 文件及目录操作(共26页).ppt

    Python从入门到精通 第13章 文件及目录操作.ppt Python从入门到精通 第14章 操作数据库.ppt Python从入门到精通 第15章 GUI界面编程.pptx Python从入门到精通 第16章 Pygame游戏编程.pptx Python从入门到精通 第17章...

    通过jquery获取上传文件名称、类型和大小的实现代码

    HTML5 File API为我们提供了一种安全的方式,让我们在客户端访问计算机中的文件,并更好的对这些文件执行操作。 支持File API的浏览器有IE10+,Firefox4+,Safari5.0.5+,Opera11.1+和Chrome。 File API在表单的文件...

    sysinternals 工具集合 (20090226版)

    它将所有与文件一切相关操作(如读取、修改、出错信息等)全部记录下来以供用户参考,并允许用户对记录的信息进行保存、过滤、查找等处理,这就为用户对系统的维护提供了极大的便利。  NTFSInfo  怎样得到你自己...

    filetools:这是一个文件上传与下载,文件操作工具类

    FileTools这是一个文件操作工具类一、android集成步骤在app下的build.gradle中添加dependencies { ... implementation 'com.rainchen.filetools:filetools:1.1.5'}二、开发a.文件上传实例化UploadUtils UploadUtils ...

    DELPHI技巧集(集合各种开发源码)

    78 Api_file.htm API函数列表-与文件相关 23K 79 Userich.htm Delphi中RichEdit的奥妙 2K 80 Vbp.htm 为VB应用程序定制浮动提示 3K 81 Wav_res.htm 如何将Wav文件做到EXE文件里 3K 82 Winapi.htm 充分利用...

    解读C++编程的相关文件操作

    文件(file)是程序设计中一个重要的概念。所谓“文件”,一般指存储在外部介质上数据的集合。一批数据是以文件的形式存放在外部介质(如磁盘、光盘和U盘)上的。操 作系统是以文件为单位对数据进行管理的,也就是说,...

    C语言程序设计标准教程

     在C语言中,文件操作都是由库函数来完成的。 在本章内将介绍主要的文件操作函数。 文件打开函数fopen  fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,...

Global site tag (gtag.js) - Google Analytics