importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileWriter;importjava.io.IOException;importjava.io.InputStreamReader;public classMBFileManager {private static final String PATH="E:/test";//constructor
publicMBFileManager(){
initFolder();
}publicFile initFolder(){
File folder=newFile(PATH);//folder not exist create a new folder
if(!folder.exists()){
folder.mkdir();
}returnfolder;
}publicFile getFile() {
File[] fileList=initFolder().listFiles();
File file2get= null;if(fileList.length>0){
file2get=fileList[fileList.length-1];
}else{
file2get=new File(PATH+"/"+"test"+fileList.length+".txt");//create a file
try{
file2get.createNewFile();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}returnfile2get;
}public voidcreateAnewFile(){
File[] fileList=initFolder().listFiles();
File file2create=new File(PATH+"/"+"test"+fileList.length+".json");try{
file2create.createNewFile();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}public voidreadFile(){
BufferedReader bufReader= null;try{
bufReader=new BufferedReader(new InputStreamReader(newFileInputStream(getFile())));
}catch(FileNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}try{
String temp=null;while((temp=bufReader.readLine())!=null){
System.out.println(temp);
}
bufReader.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}public voidwriteFile(String[] content){
createAnewFile();
File file2write=getFile();
String content2write="{" +
"\"MemberDB_Coordinate_IMEI\":\"@a@\"" +","+
"\"MemberDB_Coordinate_Longitude\":\"@b@\"" +","+
"\"MemberDB_Coordinate_Latitudes\":\"@c@\"" +","+
"\"MemberDB_Coordinate_CurrentTime\":\"@d@\"" +","+
"\"MemberDB_Coordinate_UploadTime\":\"@e@\"" +","+
"\"Coordinate_VersionCode\":\"@f@\""+
"}";
//replaceFirst这个方法一定要像下面这样写,才能有效果,因为如果你6个下来都是这样的话,不赋值,就保存不了你已经替换的字符串。因为它只管操作不管保存。
content2write=content2write.replaceFirst("@a@", content[0]);
content2write=content2write.replaceFirst("@b@", content[1]);
content2write=content2write.replaceFirst("@c@", content[2]);
content2write=content2write.replaceFirst("@d@", content[3]);
content2write=content2write.replaceFirst("@e@", content[4]);
content2write=content2write.replaceFirst("@f@", content[5]);
//下面这部分是当文件大小超过5KB的时候就新建一个文件/*try {
if(file2write.length()>5000){
createAnewFile();
file2write=getFile();
}
raf=new RandomAccessFile (file2write,"rw");
raf.seek(raf.length());
raf.writeBytes("\n"+content);
raf.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
try{
BufferedWriter bufWriter=new BufferedWriter(newFileWriter(file2write));
bufWriter.write(content2write);
bufWriter.close();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}