import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.io.PrintWriter; import java.io.RandomAccessFile; import java.util.HashMap; import java.util.Map;
import com.google.gson.Gson;
public class io {
/** * 清空file中的数据 添加 * @param filePath */ public static void File(String filePath) { try { File file = new File(filePath); PrintStream ps = new PrintStream(new FileOutputStream(file)); ps.println("http://www.jb51.net1");// 往文件里写入字符串 ps.append("http://www.jb51.net1");// 在已有的基础上添加字符串 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * 在已有的基础上添加字符串 * @param filePath */ public static void FileWriter(String filePath,String param) { try { FileWriter fw = new FileWriter(filePath, true); BufferedWriter bw = new BufferedWriter(fw); bw.append(param+"\r\t"); 往已有的文件上添加字符串 // bw.write(param);// 往已有的文件上添加字符串 bw.close(); fw.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * 清空file中的数据 再添加 * @param filePath */ public static void PrintWriter(String filePath) { try { PrintWriter pw = new PrintWriter(new FileWriter(filePath)); pw.println("abc1 "); pw.println("def1 "); pw.println("hef1 "); pw.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * 替换文件中的内容 * @param filePath */ public static void RandomAccessFile(String filePath) { try { RandomAccessFile rf = new RandomAccessFile(filePath, "rw"); rf.writeBytes("111\t"); rf.writeBytes("221\t"); rf.writeBytes("331\t"); rf.close(); } catch (Exception e) { e.printStackTrace(); } }
/** * 替换文件中的内容 * @param filePath */ public static void FileOutputStream(String filePath) { try { FileOutputStream fos = new FileOutputStream(filePath); String s = "12"; fos.write(s.getBytes()); fos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * 将文件转换成map存储 * * @return */ private static Map<String, Object> getFile(String filePath) { Map<String, Object> map = new HashMap<String, Object>(); File file = new File(filePath); BufferedReader reader = null; try { System.out.println("以行为单位读取文件内容,一次读一整行:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; do { // 一次读入一行,直到读入null为文件结束 if ((tempString = reader.readLine()) != null) { // 显示行号 System.out.println("line " + line + ": " + tempString); Gson gson = new Gson(); map = gson.fromJson(tempString, map.getClass()); Map<String, Object> dataMap=(Map<String, Object>) map.get("data"); for (Map.Entry<String, Object> m : map.entrySet()){ System.out.println(m); } line++; } } while (reader.read()!=-1); reader.close(); } catch (Exception e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (Exception e1) { } } } return map; } public static void main(String[] args) throws Exception { String filePath = "F://测试/link.txt"; Map<String , Object> DataMap=new HashMap<String, Object>(); DataMap.put("name", "小明"); DataMap.put("age", 12); DataMap.put("phone", "110"); Map<String , Object> map=new HashMap<String, Object>(); map.put("status", "success"); map.put("message", "获取成功"); map.put("data", DataMap); FileWriter(filePath,map.toString()); getFile(filePath); }
}