Java读写TXT文件(JSON格式)
读文件代码:
/* 读文件(json) */
public static Map<String, Object> parseFile(String path) {
try {
File file = new File(path);
if (file.isFile() && file.exists() && file.canRead()) {
String encoding = "GBK";
InputStreamReader in;
in = new InputStreamReader(new FileInputStream(file), encoding);
BufferedReader bufferedReader = new BufferedReader(in);
String lineTxt = "";
StringBuilder sb = new StringBuilder(lineTxt);
while ((lineTxt = bufferedReader.readLine()) != null) {
if (!lineTxt.trim().equals("")) {
sb.append(lineTxt);
}
}
lineTxt = sb.toString();
in.close();
return JSON.parseObject(lineTxt);
}else {
System.out.println("找不到指定文件");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
写文件代码:
/* 写入文件使用map */
public static void updateFile(String path, Map<String, Object> newContent) {
try {
File file = new File(path);
if (file.isFile() && file.canRead() && file.exists()) {
BufferedWriter bw = new BufferedWriter(new FileWriter(path));
// 一次写一行
bw.write(JSON.toJSONString(newContent));
bw.newLine(); // 换行用
// 关闭流
bw.close();
}else {
System.out.println("文件新建成功");
file.createNewFile();
BufferedWriter bw = new BufferedWriter(new FileWriter(path));
// 一次写一行
bw.write(JSON.toJSONString(newContent));
bw.newLine(); // 换行用
// 关闭流
bw.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
调用代码:
//读文件
private static Map<String, Object> form;
form = parseFile("src/config/form.txt");
//写文件
updateFile(settingPath, new HashMap<String, Object>(4) {
{
put("x", x);
put("y", y);
put("width", width);
put("heigth", height);
put("font", font);
}
});