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);
}
}