• java文件


    package test;
    
    import java.io.*;
    
    public class FileUtils {
    
    
        /**
         * @param message 保存的消息
         * @param contentFile 保存的文件
         * 将消息存储,一个文件保存保存消息的数据,一个保存消息的查找索引
         * @throws IOException
         */
        public static void saveDataLog(String message,File contentFile) throws IOException {
            String indexFilePath = "message-00000.index";
            File indexFile = new File(indexFilePath);
    
            BufferedWriter indexWriter = new BufferedWriter(new FileWriter(indexFile,true));
            BufferedWriter contentWriter = new BufferedWriter(new FileWriter(contentFile,true));
    
            Integer indexTotalLines = getTotalLines(indexFile);
            Integer contentTotalLines = getTotalLines(contentFile);
            String indexString = indexTotalLines +","+contentTotalLines+","+indexFilePath+"
    ";
    
            indexWriter.write(indexString);
            contentWriter.write(message+"
    ");
    
            indexWriter.close();
            contentWriter.close();
        }
    
    
        /**
         * @param number
         * @param file
         * 根据行数获取第几行的数据
         * @return
         * @throws IOException
         */
        public static String getNumLine(Integer number,File file) throws IOException {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            Integer count = 0;
    
            String line = null;
            while ((line = reader.readLine()) != null){
                if(number == count){
                    break;
                }
                count += 1;
            }
            reader.close();
            return line;
        }
    
        /**
         * @param file
         * 获取文件的总行数
         * @return 文件总的行数
         * @throws IOException
         */
        public static Integer getTotalLines(File file) throws IOException {
            BufferedReader reader = new BufferedReader(new FileReader(file));
            Integer count = 0;
            while (reader.readLine() != null){
                count += 1;
            }
            reader.close();
            return count;
        }
    
        /**
         * 
         * @param indexString
         * @return
         * @throws IOException
         */
    
        public static String[] getLineByIndex(String indexString) throws IOException {
            String[] splitArray = indexString.split(",");
            return splitArray;
        }
    
        public static void main(String[] args) throws IOException {
    
    //        System.out.println(getTotalLines(new File("message.txt")));
    //        System.out.println(getNumLine(2,new File("message.txt")));
    //        saveDataLog("this is a sting.",new File("message.message"));
    
            String[] index = getLineByIndex("2,3");
            Integer lineByIndex = Integer.parseInt(index[1]);
            String numLine = getNumLine(lineByIndex, new File("message.message"));
            System.out.println(numLine);
        }
    
    }
    
  • 相关阅读:
    Laravel实用小功能
    _initialize() 区别 __construct()
    PHP websocket之聊天室实现
    原来PHP对象比数组用更少的内存
    PHP协程
    mongodb数据库的导出与导入
    我理解的数据结构(一)—— 数组(Array)
    Swoole 源码分析——Server模块之Worker事件循环
    PHP面试:说下什么是堆和堆排序?
    我理解的数据结构(二)—— 栈(Stack)
  • 原文地址:https://www.cnblogs.com/snow-wolf-1/p/11584944.html
Copyright © 2020-2023  润新知