import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import org.junit.Test;
/**
* 关于文件(夹)的类
* @author 上古神马
* 2018年12月10日_上午10:56:46
*/
public class FindFile {
//win文件目录
private static final String filePathWIN = "D:/aa/bb/cc/";
//linux文件目录
private static final String filePathlINUX = "/home/aa/bb/cc/";
//获取系统类型
private static final String os = System.getProperty("os.name");
//获取系统换行符
private static final String newLine = System.lineSeparator();
public static void findFile(String filePath){
//获取系统类型
boolean flagWind = false;
if(os.contains("Windows")){
flagWind = true;
filePath = filePathWIN;
}else{
filePath = filePathlINUX;
}
//创建文件
File f = new File(filePath);
System.out.println("当前代码在的运行平台:“"+os+"”o(∩_∩)o 哈哈!---");
if(f.exists()){
//文件夹存在
System.out.println("文件夹已经存在,啥也不干。");
}else{
//linux平台,写入权限
if(!flagWind){
f.setWritable(true, false);
}
boolean mkdirs = f.mkdirs();
System.out.println("文件夹不已经存在,将进行递归创建");
if(mkdirs){
System.out.println("创建成功!");
}else{
System.out.println("创建失败!");
}
}
}
/**
* 创建文件
* @throws FileNotFoundException
* @throws IOException
*/
private void creadFile(String fileName) throws FileNotFoundException, IOException {
System.out.println("--开始写入数据:");
//文件流读取文件
FileOutputStream out=new FileOutputStream(fileName);
PrintStream p=new PrintStream(out);
for(int i=0;i<100;i++){
p.append("a"+i);
if(i%3==0){
p.append(newLine);
}
}
p.close();
out.close();
System.out.println("写入数据完毕~!");
}
/**
* 测试
* @throws IOException
*/
@Test
public void test1() throws IOException{
findFile("");
String fileName = "a.txt";
File file = new File(filePathWIN+fileName);
if(file.exists()){
System.out.println("文件已经存在,啥也不干。");
creadFile(filePathWIN+fileName);
}else{
boolean createNewFile = file.createNewFile();
System.out.println("文件已经不存在,将创建!");
if(createNewFile){
System.out.println("创建成功!");
creadFile(filePathWIN+fileName);
}else{
System.out.println("创建失败!");
}
}
}
}
话不多说,先上代码。用于创建win平台和linux平台的文件。【以此记录】自己用,先留着。以后有机会了继续完善。