文件创建读取(自用勿点)

小时候控制台游戏所用的工具类,有毒哈哈哈哈:

1、txt传记记录文件:

package com.yy.diabio.v1.utils;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;


/**
 * 传记
 * @author Administrator
 *
 */
public class Biography {
	/**
	 * 读一行写一行
	 * @param path
	 */
	public static void readLineAndWrite(String path,String pathout){
		try {
			File file = new File(path);
			String expath= path.replace(".", "_re.");
			expath=expath.replaceAll("fileImp", "fileExp");
			System.out.println(expath);
			//int index =path.lastIndexOf(".");
			//File expFile = new File("D:/scc0511_others_r.net");
			File expFile = new File(expath);
			BufferedReader br = new BufferedReader(new FileReader(file));
			 
             PrintWriter out = new PrintWriter(new BufferedWriter(
                     new FileWriter(expFile, true)));
             String line   = null;
             while ((line = br.readLine()) != null) {
                 out.println(line);      
             }
             if (br != null) {
                 br.close();
             }
             if (out != null) {
                 out.close();
             }
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 书写append,新建时会刷新或者创建新的
	 * @param path
	 * @param pathout
	 */
	public static void writeBioGraPhy(String msg){
		String path=getPath();
		File file = new File(path);
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		PrintWriter out =null;
		 try {
			out = new PrintWriter(new BufferedWriter(
			         new FileWriter(file, true)));
			out.println(msg);  
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.flush();
		}
		
		
		
	}
	
	/**
	 * 测试路径
	 * @return
	 */
	 public static String getPath() {  
         //构造时获取到项目的物理根目录  
         //String project_root = this.getClass().getResource("/").toString().replace("file:/", "");  
         String project_root=ReadPropertiesUtil.class.getResource("/").toString().replace("file:/", ""); 
         //web pro
         //project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));  
         project_root = project_root.substring(0,project_root.indexOf("/bin")); 
 		 String path=project_root+"/src"+"/Biography.txt";
 		 //path=project_root+"/Role.txt";
         return path;
     }
	 /**
	  * 启动文件使用路径
	  */
	/* public static String getPath() {  
         //构造时获取到项目的物理根目录  
         //String project_root = this.getClass().getResource("/").toString().replace("file:/", "");  
         String project_root=ReadPropertiesUtil.class.getResource("/").toString().replace("file:/", ""); 
         //web pro
         //project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));  
         //project_root = project_root.substring(0,project_root.indexOf("/bin")); 
 		 String path=project_root+"/src"+"/Biography.txt";
 		 //path=project_root+"/Role.txt";
         return path;
     }*/
}

2、存档对象记录工具类:

package com.yy.diabio.v1.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

import com.yy.diabio.v1.role.Role;

public class ObjStreamUtil {
	//1.创建目标路径
   
 
    
     
	     //(一)先写入对象
    public static void saveRole(Role role){
        File file = null;
     	String path = getPath();
     	file = new File(path);
     	if(!file.exists()){
     		try {
 				file.createNewFile();
 			} catch (IOException e) {
 				e.printStackTrace();
 			}
     	}
        //2.创建流通道
        FileOutputStream fos=null;
      //3.创建对象输出流
        ObjectOutputStream objOP=null;
		try {
			System.out.println(file);
			fos = new FileOutputStream(file);
			objOP = new ObjectOutputStream(fos);
			objOP.writeObject(role);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(objOP!=null){
				try {
					objOP.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			
		}
     }
     
     //再读取对象
     public static Role readRole(){
    	File file = null;
      	String path = getPath();
      	file = new File(path);
      	if(!file.exists()){
      		try {
  				file.createNewFile();
  			} catch (IOException e) {
  				e.printStackTrace();
  			}
      	}
    	 
         FileInputStream fis=null;
         ObjectInputStream objIP=null;
         Role role =null;
		try {
			System.out.println(file+"?????????");
			fis = new FileInputStream(file);
			objIP = new ObjectInputStream(fis);
			role = (Role)objIP.readObject();
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
		} catch (ClassNotFoundException e) {
		}catch (Exception e) {
		}finally{
			if(objIP!=null){
				try {
					objIP.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
         return role;
     }
     public static String getPath() {  
         //构造时获取到项目的物理根目录  
         //String project_root = this.getClass().getResource("/").toString().replace("file:/", "");  
         String project_root=ReadPropertiesUtil.class.getResource("/").toString().replace("file:/", ""); 
         //web pro
         //project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));  
         project_root = project_root.substring(0,project_root.indexOf("/bin")); 
 		 String path=project_root+"/src"+"/Role.txt";
 		 //path=project_root+"/Role.txt";
         return path;
     }
     /**
      * bat版本
      */
 /*    public static String getPath() {  
         //构造时获取到项目的物理根目录  
         //String project_root = this.getClass().getResource("/").toString().replace("file:/", "");  
         String project_root=ReadPropertiesUtil.class.getResource("/").toString().replace("file:/", ""); 
         //web pro
         //project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));  
         //project_root = project_root.substring(0,project_root.indexOf("/bin")); 
 		 String path=project_root+"/src"+"/Role.txt";
 		 //path=project_root+"/Role.txt";
         return path;
     }*/
}

3、properties记录类:

package com.yy.diabio.v1.utils;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;

public class propertiesBath {
	//初始化properties

	public static void main(String[] args) {
		Properties pro = new Properties();
		try {
		    InputStream inStr = ClassLoader.getSystemResourceAsStream("Role.properties");
		    pro.load(inStr);
		} catch (FileNotFoundException e) {
		    e.printStackTrace();
		} catch (IOException e) {
		    e.printStackTrace();
		}


		//返回所有的属性名,即键名。
		//propertyNames(),返回属性列表中所有键的枚举
		Enumeration enu2=pro.propertyNames();
		while(enu2.hasMoreElements()){
		    String key = (String)enu2.nextElement();
		    System.out.println(key);
		} 


		//返回所有的属性值。
		//Properties 继承于 Hashtable,elements()是Hashtable的方法,返回哈希表中的值的枚举。
		Enumeration enu=pro.elements();
		while(enu.hasMoreElements()){
		    String key = (String)enu.nextElement();
		    System.out.println(key);

		} 


		//返回所有的属性(属性名,属性值)。
		//Properties 继承于 Hashtable,entrySet()是Hashtable的方法,
		//返回此 Hashtable 中所包含的键的 Set 视图。此 collection 中每个元素都是一个 Map.Entry
		Iterator it=pro.entrySet().iterator();
		while(it.hasNext()){
		    Map.Entry entry=(Map.Entry)it.next();
		    Object key = entry.getKey();
		    Object value = entry.getValue();
		    System.out.println(key +":"+value);
		}
	}
}

02:

package com.yy.diabio.v1.utils;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;

/**
 * 读取properties文件
 * 
 * @author ZX
 */
public class ReadPropertiesUtil {

	// 测试方法,先运行看使用情况
	

	/*
	 * 两种方式 InputStream inStream =
	 * this.getClass().getResourceAsStream("/pro.properties");//普通类好用
	 * InputStream inStream =
	 * 类名.class.getResourceAsStream("/pro.properties");//静态类好用
	 */
	/**
	 * 根据key取得类路径下properFilePath文件中的value值
	 * 
	 * @param properFilePath
	 *            pro文件的path
	 * @param key
	 * @return
	 */
	public static String getProKey(String properFilePath, String key) {
		String value = "";
		InputStream inStream = null;
		try {
			inStream = ReadPropertiesUtil.class
					.getResourceAsStream(properFilePath);
			Properties prop = new Properties();
			prop.load(inStream);
			value = prop.getProperty(key);
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (inStream != null) {
				try {
					inStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		// Object [] fmtargs = {""};//替换string中的{0}
		// String content =MessageFormat.format (registerMessage, fmtargs);
		return value;
	}

	
	private static final int SUCCESS =1;
	private static final int FAIL =1;
	public static int saveProKey(String properFilePath, String key, String value) {
		
		String path = getPath();
		path=path+"/src"+properFilePath;
		
		File file = new File(path);
		if(!file.exists()){
			try {
				file.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		Properties props = new Properties();
		OutputStream fos=null;
	    try {
	        props.load(new FileInputStream(path));
	        
	        fos = new FileOutputStream(path);
            props.setProperty(key, value);
            props.store(fos, key);
	    } catch (Exception e) {
	    	 e.printStackTrace();
	    	return FAIL;
	    }finally{
	    	if(fos!=null){
	    		try {
					fos.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	    	}
	    }
		return SUCCESS;
	}
	/**
	 * 添加可变参数替换properties中的{0}
	 */
	
	
	public static String getRoleKey(String key) {
		String properFilePath="/Role.properties";
		String proKey = getProKey(properFilePath, key);
		return proKey;
	}
	public static int saveRoleKey(String key,String value) {
		String properFilePath="/Role.properties";
		int saveProKey = saveProKey(properFilePath, key, value);
		return saveProKey;
	}
	
	public static String getPath() {  
        //构造时获取到项目的物理根目录  
        //String project_root = this.getClass().getResource("/").toString().replace("file:/", "");  
        String project_root=ReadPropertiesUtil.class.getResource("/").toString().replace("file:/", ""); 
        //web pro
        //project_root = project_root.substring(0,project_root.indexOf("/WEB-INF"));  
        project_root = project_root.substring(0,project_root.indexOf("/bin"));  
        return project_root;
    }
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	//================================from network=======================================
	
	    /**
	    * 采用静态方法
	    */
	    private static Properties props = new Properties();

	    /**
	    * 读取属性文件中相应键的值
	    * @param key
	    *            主键
	    * @return String
	    */
	    public static String getKeyValue(String key) {
	        return props.getProperty(key);
	    }

	    /**
	    * 根据主键key读取主键的值value
	    * @param filePath 属性文件路径
	    * @param key 键名
	    */
	    public static String readValue(String filePath, String key) {
	        Properties props = new Properties();
	        try {
	            InputStream in = new BufferedInputStream(new FileInputStream(
	                    filePath));
	            props.load(in);
	            String value = props.getProperty(key);
	            System.out.println(key +"键的值是:"+ value);
	            return value;
	        } catch (Exception e) {
	            e.printStackTrace();
	            return null;
	        }
	    }
	  
	    /**
	    * 更新(或插入)一对properties信息(主键及其键值)
	    * 如果该主键已经存在,更新该主键的值;
	    * 如果该主键不存在,则插件一对键值。
	    * @param keyname 键名
	    * @param keyvalue 键值
	    */
	    public static void writeProperties(String keyname,String keyvalue) {      
	        try {
	            // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
	            // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
	            OutputStream fos = new FileOutputStream("profilepath");
	            props.setProperty(keyname, keyvalue);
	            // 以适合使用 load 方法加载到 Properties 表中的格式,
	            // 将此 Properties 表中的属性列表(键和元素对)写入输出流
	            props.store(fos, "Update '" + keyname + "' value");
	        } catch (IOException e) {
	            System.err.println("属性文件更新错误");
	        }
	    }

	    /**
	    * 更新properties文件的键值对
	    * 如果该主键已经存在,更新该主键的值;
	    * 如果该主键不存在,则插件一对键值。
	    * @param keyname 键名
	    * @param keyvalue 键值
	    */
	    public void updateProperties(String keyname,String keyvalue) {
	        try {
	            props.load(new FileInputStream("profilepath"));
	            // 调用 Hashtable 的方法 put,使用 getProperty 方法提供并行性。
	            // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
	            OutputStream fos = new FileOutputStream("profilepath");          
	            props.setProperty(keyname, keyvalue);
	            // 以适合使用 load 方法加载到 Properties 表中的格式,
	            // 将此 Properties 表中的属性列表(键和元素对)写入输出流
	            props.store(fos, "Update '" + keyname + "' value");
	        } catch (IOException e) {
	            System.err.println("属性文件更新错误");
	        }
	    }
	    
	     
}

4、名字随机类:

package com.yy.diabio.v1.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class RandomUtils {
	public static void main(String[] args) {
		System.out.println(ranName());
	}
	
	public static List<String> na =new ArrayList<String>();
	static{
		na.add("蛋");na.add("黄");na.add("派");na.add("大");na.add("星");
		na.add("蠢");na.add("豆");na.add("卡");na.add("蛮");na.add("疼");
		na.add("愚");na.add("牛");na.add("猪");na.add("羊");na.add("狗");
		na.add("熊");na.add("鸡");na.add("鸭");na.add("恶");na.add("蛇");
		na.add("犬");na.add("夜");na.add("叉");na.add("鱼");na.add("肉");
		na.add("虎");na.add("蛇");na.add("羽");na.add("翼");na.add("驴");
		na.add("小");na.add("儿");na.add("痴");na.add("呆");na.add("卡");
		na.add("赤");na.add("绿");na.add("青");na.add("蓝");na.add("紫");
		na.add("冰");na.add("火");na.add("二");na.add("锅");na.add("头");
	}
	public static int getCount(int edge){
		Random ran = new Random();
		int nextInt = ran.nextInt(edge);
		return nextInt;
	}
	public static int getCount2(int edge){
		Random ran = new Random();
		int nextInt = ran.nextInt(edge);
		return nextInt+2;
	}
	public static int getNameCount(){
		return getCount2(3);
	}
	public static int poolSize(){
		int poolSize = na.size();
		return getCount(poolSize);
	}
	public static String ranName(){
		
		int nameCount = getNameCount();
		StringBuffer sb = new StringBuffer();
		for(int i=0;i<nameCount;i++){
			String strTmp = na.get(poolSize());
			sb.append(strTmp);
		}
		return sb.toString();
	}
	
	//sors first Random Skill,just for fun ,hah ,its dosent metter
	//and this skill have no consume,but low demage. 
	//create skill package and skill object later 
	
	public static String randomSkill(){
		//
		return "";
	}
	
	
	
}

5、神奇的东西:

package com.yy.diabio.v1.box;

public class MapPic {
	
	public static void showMap(){
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+    .      .                           ++        ~");
		System.out.println("+      .   . +  + +  + +   +  + +   +  +  +   + ~  ");
		System.out.println("+          +                 +             +~  ~  ~");
		System.out.println("+       .  +        福莱特王国                                                      ~  ~  ");
		System.out.println("+       .  +                        +          ~ 大 ");
		System.out.println("+  戴泽特国      .   + +  +                          ~  海");
		System.out.println("+        .  =    =    +  +           +         ~  ~");
		System.out.println("+      .   =        = =    +  +   +    普莱恩王国     ~ ~ ");
		System.out.println("+    .   =            = =                       ~ ~");
		System.out.println("+  .  =  =     芒特那联合体          = =                 ~ ~  ");
		System.out.println("+                            =                 ~ ~ ");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("++++++++++++++++++++*世界-地图*+++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");

		
	}
	public static void showCity(){
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+                                                 +");
		System.out.println("+                + + ++ + ++ ++                            +");
		System.out.println("+                +============+                     +");
		System.out.println("+                +            +                     +");
		System.out.println("+        + + + + +            + + + ++++                      +");
		System.out.println("+        +=======             =========+             +");
		System.out.println("+        +         ----------          +            +");
		System.out.println("++ ++ ++ +         |        |          +++ ++ ++ ++        +");
		System.out.println("+--------+         |        |          +           +");
		System.out.println("+        +         |        |          +            +");
		System.out.println("+        +         |        |          +           +");
		System.out.println("+        +         |        |          +           +");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++");
		
	}
	


	public static void showBear(){
		System.out.println("┴┬┴┬/ ̄\_/ ̄\");
		System.out.println("┬┴┬┴▏  ▏▔▔▔▔\");
		System.out.println("┴┬┴/\ /      ﹨");
		System.out.println("┬┴∕       /   )");
		System.out.println("┴┬▏        ●  ▏");
		System.out.println("┬┴▏           ▔█");
		System.out.println("┴◢██◣       \__/");
		System.out.println("┬█████◣       /");
		System.out.println("┴█████████████◣");
		System.out.println("◢██████████████▆▄");
		System.out.println("◢██████████████▆▄");
		System.out.println("█◤◢██◣◥█████████◤\");
		System.out.println("◥◢████ ████████◤   \");
		System.out.println("┴█████ ██████◤      ﹨");
		System.out.println("┬│   │█████◤        ▏");
		System.out.println("┴│   │              ▏");
		System.out.println("┬∕   ∕    /▔▔▔\     ∕");
		System.out.println("*∕___/﹨   ∕      \  /\");
		System.out.println("┬┴┬┴┬┴\    \_     ﹨/  ﹨");
		System.out.println("┴┬┴┬┴┬┴ \___\     ﹨/▔\﹨/▔\");
		System.out.println("▲△▲▲╓╥╥╥╥╥╥╥╥\   ∕  /▔﹨ /▔﹨");
		
	}
	public static void showBook(){
		System.out.println("┏┳━━━━━━━━┓");
		System.out.println("┃┃████████┃");
		System.out.println("┃┃████┏━┓█┃");
		System.out.println("┃┃████┃-┃█┃");
		System.out.println("┣┫████┃如┃█┃");
		System.out.println("┃┃████┃来┃█┃");
		System.out.println("┃┃████┃神┃█┃");
		System.out.println("┃┃████┃掌┃█┃");
		System.out.println("┃┃████┃-┃█┃");
		System.out.println("┣┫████┗━┛█┃");
		System.out.println("┃┃████████┃");
		System.out.println("┃┃███ 定价5毛┃");
		System.out.println("┗┻━━━━━━━━┛");
		
	}
	public static void showHose(){
		System.out.println("     /\~~~~~~~~~~~~~\   ");
		System.out.println("  ./   \~~~▓~        ~~~~\ ◆ ");
		System.out.println("  / == \      ══════\.◆ ");
		System.out.println(" ..▎[] ▎田                     田 ▎ |┃◆  .   ");
		System.out.println(" &&▎    ▎                      ▎'|'▎ @  ");
		System.out.println("# ■■■■■■■■■■〓▄▃▂           }||}}");
		System.out.println("");
		System.out.println("");
	}
	public static void showHelmet(){
		System.out.println("*☆∵ ◥■▄■◤  .★∵∴");
		System.out.println("∴★◢██★██◣* ☆.∴");
		System.out.println("☆◢██    █    ██◣.∴");
		System.out.println("◢    ◤██     ██◥◣.☆");
		System.out.println("◥    ∴█████.∵");
	}
	public static void showJacket(){
		System.out.println("*☆∵ ▁▂▄▂▁.★∵∴");
		System.out.println("∴★◢█████◣* ☆.∴");
		System.out.println("☆◢████☆██◣.∴");
		System.out.println("◢■◤█████◥█◣.☆");
		System.out.println("◥◤∴█████.◥◤∵");
	}
	public static void showpants(){
		System.out.println("*☆∵ ▁▂★▂▁.★∵∴");
		System.out.println("∴★    █████ * ☆.∴");
		System.out.println("☆◢    ██    ██  .∴");
		System.out.println("◢    ◤██    ██       .☆");
		System.out.println("◥◤∴██    ██.       ∵");
		System.out.println("◥◤∴██    ██.       ∵");
		System.out.println("◥◤∴██    ██.       ∵");
	}
	public static void showBoot(){
		System.out.println("∴★    █████ * ☆.∴");
		System.out.println("☆◢        █    ██  .∴");
		System.out.println("◢    ◤    █        █       .☆");
		System.out.println("◥◤        █    ██.       ∵");
		System.out.println("◥◤∴    █          ███.       ∵");
		System.out.println("◥◤∴██    █████.       ∵");
	}
	public static void showHouse(){
		System.out.println("                               _(\_/) ");
		System.out.println("                             ,((((^`\");
		System.out.println("                             ((((  (6 \ ");
		System.out.println("                          ,((((( ,    \");
		System.out.println("       ,,,_              ,(((((  /'._  ,`,");
		System.out.println("      ((((\ ,...       ,((((   /    `-.-'");
		System.out.println("      )))  ;'    `''''''((((   (");
		System.out.println("    (((  /            (((      \");
		System.out.println("      )) |                      |");
		System.out.println("     ((  |        .       '     |");
		System.out.println("     ))  \     _ '      `t   ,.')");
		System.out.println("     (   |   y;- -,-''''-.\   \/");
		System.out.println("    )   / ./  ) /         `\  \");
		System.out.println("        |./   ( (           / /'");
		System.out.println("        ||     \          //'|");
		System.out.println("        ||      \       _//'||");
		System.out.println("        ||       ))     |_/  ||");
		System.out.println("        \_\     |_/          ||");
		System.out.println("        `''                  \_\");
		System.out.println("                             `'''");
	}
	public static void main(String[] args) {
		showBear();
		showHose();
		showHouse();
	}
}
 
原文地址:https://www.cnblogs.com/the-fool/p/11054171.html