public class ReadUtil {
// 读文件
public String ReadFile(String Path){
BufferedReader reader = null;
String laststr = "";
try{
FileInputStream fileInputStream = new FileInputStream(Path);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
reader = new BufferedReader(inputStreamReader);
String tempString = null;
while((tempString = reader.readLine()) != null){
laststr += tempString;
}
reader.close();
}catch(IOException e){
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return laststr;
//System.out.println(laststr);
File file =new File(s);
//如果文件夹不存在则创建
if (!file .exists() && !file .isDirectory())
{
System.out.println(s+" 不存在");
//file.mkdir();// 目录不存在的情况下,会抛出异常 // 目录已存在创建文件夹
file.mkdirs();// 目录不存在的情况下,创建目录。 //目录不存在,创建整个目录
return false;
} else
{
System.out.println(s+" 目录存在");
return true;
}
}
//复制文件夹
public void copyFolderWithSelf(String oldPath, String newPath) {
try {
URLDecoder.decode(oldPath,"UTF-8");
//String oldPath = DirectPath(ooldPath);
new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹
File dir = new File(oldPath);
// 目标
newPath += File.separator + dir.getName();
File moveDir = new File(newPath);
if(dir.isDirectory()){
if (!moveDir.exists()) {
moveDir.mkdirs();
}
}
String[] file = dir.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()) { //如果是子文件夹
copyFolderWithSelf(oldPath + "/" + file[i], newPath);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
//移动文件夹(剪切)
public void MoveFolderAndFileWithSelf(String from, String to) throws Exception {
try {
File dir = new File(from);
// 目标
to += File.separator + dir.getName();
File moveDir = new File(to);
if(dir.isDirectory()){
if (!moveDir.exists()) {
moveDir.mkdirs();
}
}else{
File tofile = new File(to);
dir.renameTo(tofile);
return;
}
//System.out.println("dir.isDirectory()"+dir.isDirectory());
//System.out.println("dir.isFile():"+dir.isFile());
// 文件一览
File[] files = dir.listFiles();
if (files == null)
return;
// 文件移动
for (int i = 0; i < files.length; i++) {
System.out.println("文件名:"+files[i].getName());
if (files[i].isDirectory()) {
MoveFolderAndFileWithSelf(files[i].getPath(), to);
// 成功,删除原文件
files[i].delete();
}
File moveFile = new File(moveDir.getPath() + File.separator + files[i].getName());
// 目标文件夹下存在的话,删除
if (moveFile.exists()) {
moveFile.delete();
}
files[i].renameTo(moveFile);
}
dir.delete();
} catch (Exception e) {
throw e;
}
}
//找下级文件夹
public String DirectPath(String path){
File file = new File(path);
File[] files = file.listFiles();
for(File fileIn : files){
if(fileIn.isDirectory()){
return fileIn.getPath();
}
}
return null;
}
}
// 读文件
public String ReadFile(String Path){
BufferedReader reader = null;
String laststr = "";
try{
FileInputStream fileInputStream = new FileInputStream(Path);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
reader = new BufferedReader(inputStreamReader);
String tempString = null;
while((tempString = reader.readLine()) != null){
laststr += tempString;
}
reader.close();
}catch(IOException e){
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return laststr;
//System.out.println(laststr);
}
//判断文件夹是否存在
File file =new File(s);
//如果文件夹不存在则创建
if (!file .exists() && !file .isDirectory())
{
System.out.println(s+" 不存在");
//file.mkdir();// 目录不存在的情况下,会抛出异常 // 目录已存在创建文件夹
file.mkdirs();// 目录不存在的情况下,创建目录。 //目录不存在,创建整个目录
return false;
} else
{
System.out.println(s+" 目录存在");
return true;
}
}
//复制文件夹
public void copyFolderWithSelf(String oldPath, String newPath) {
try {
URLDecoder.decode(oldPath,"UTF-8");
//String oldPath = DirectPath(ooldPath);
new File(newPath).mkdirs(); //如果文件夹不存在 则建立新文件夹
File dir = new File(oldPath);
// 目标
newPath += File.separator + dir.getName();
File moveDir = new File(newPath);
if(dir.isDirectory()){
if (!moveDir.exists()) {
moveDir.mkdirs();
}
}
String[] file = dir.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()) { //如果是子文件夹
copyFolderWithSelf(oldPath + "/" + file[i], newPath);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
//移动文件夹(剪切)
public void MoveFolderAndFileWithSelf(String from, String to) throws Exception {
try {
File dir = new File(from);
// 目标
to += File.separator + dir.getName();
File moveDir = new File(to);
if(dir.isDirectory()){
if (!moveDir.exists()) {
moveDir.mkdirs();
}
}else{
File tofile = new File(to);
dir.renameTo(tofile);
return;
}
//System.out.println("dir.isDirectory()"+dir.isDirectory());
//System.out.println("dir.isFile():"+dir.isFile());
// 文件一览
File[] files = dir.listFiles();
if (files == null)
return;
// 文件移动
for (int i = 0; i < files.length; i++) {
System.out.println("文件名:"+files[i].getName());
if (files[i].isDirectory()) {
MoveFolderAndFileWithSelf(files[i].getPath(), to);
// 成功,删除原文件
files[i].delete();
}
File moveFile = new File(moveDir.getPath() + File.separator + files[i].getName());
// 目标文件夹下存在的话,删除
if (moveFile.exists()) {
moveFile.delete();
}
files[i].renameTo(moveFile);
}
dir.delete();
} catch (Exception e) {
throw e;
}
}
//找下级文件夹
public String DirectPath(String path){
File file = new File(path);
File[] files = file.listFiles();
for(File fileIn : files){
if(fileIn.isDirectory()){
return fileIn.getPath();
}
}
return null;
}
}