JAVA不区分平台创建文件(win和linux)



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平台的文件。【以此记录】自己用,先留着。以后有机会了继续完善。


 

猜你喜欢

转载自blog.csdn.net/u011189668/article/details/84937487
今日推荐