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;

    }

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

  • 相关阅读:
    1442. Count Triplets That Can Form Two Arrays of Equal XOR
    1441. Build an Array With Stack Operations
    312. Burst Balloons
    367. Valid Perfect Square
    307. Range Sum Query
    1232. Check If It Is a Straight Line
    993. Cousins in Binary Tree
    1436. Destination City
    476. Number Complement
    383. Ransom Note
  • 原文地址:https://www.cnblogs.com/jarrah/p/2457379.html
Copyright © 2011-2022 走看看