zoukankan      html  css  js  c++  java
  • JAVA 读写文件

    1,JAVA读写文件主要用到JAVA的IO里边的BufferedReader来读取,BufferedWriter来写文件。

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class MBFileManager {
    
        
        
        private  static final String PATH="E:/test";
        
        
        //constructor
        
        public MBFileManager(){
            initFolder();
            
        }
        
        public File initFolder(){
            File folder=new File(PATH);
            //folder not exist create a new folder
            if(!folder.exists()){
                folder.mkdir();
            }
            return folder;    
            
        }
        
        public  File 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();
                }
            }
            return file2get;
        }
        
        public void createAnewFile(){
            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 void readFile(){
            BufferedReader bufReader = null;
            try {
                
                bufReader=new BufferedReader(new InputStreamReader(new FileInputStream(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 void writeFile(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(new FileWriter(file2write)); bufWriter.write(content2write); bufWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

    2.字符串的拆分

    很多时候拆分字符串的时候我们都用string的subString。但是如果用split();这个方法会更加简单。

    public static String[] getValues(String v){

    String value=v;

    String values[]=value.split(",");

    return values;

    }

    输入一个字符(假如以字符串里面的  ,号为分割)串就会返回字符串数组。

  • 相关阅读:
    蛤玮学计网 -- 简单的判断ip
    修路方案 Kruskal 之 次小生成树
    单词拼接 ----- 深搜
    KMP 算法
    城市平乱 ---- Dijkstra
    最少换乘
    ubuntu-vnc
    sshpass----------------sshfs--sftp(sublime)
    snmp ubuntu/centos--
    erlang ssl
  • 原文地址:https://www.cnblogs.com/jarrah/p/2457379.html
Copyright © 2011-2022 走看看