1、文件

(1)按行读取txt文件

/**
     * 功能:
     *      Java读取“函数调用txt文件”(eg:ring_file_publish.txt)的内容,
     *      返回调用关系(exp=“f1;f2”)的列表。
     *
     * 步骤:
     * 1:先获得文件句柄
     * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
     * 3:读取到输入流后,需要读取生成字节流
     * 4:一行一行的输出。readline()。
     * 备注:需要考虑的是异常情况
     * @param filePath
     */
    public static List<String> readTxtFile(String filePath) {
        List<String> invocList = new ArrayList<String>();
        try {
            String encoding = "UTF-8";
            File file = new File(filePath);
            if (file.isFile() && file.exists()) { //判断文件是否存在
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file), encoding);//考虑到编码格式
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
                String outerFunc = "";
                while ((lineTxt = bufferedReader.readLine()) != null) {
                    if (lineTxt.startsWith(" ")) {
                        String innerFunc = lineTxt.replaceAll(" |\\(|\\)", "");
                        invocList.add(outerFunc+";"+innerFunc);
                        System.out.println("内部啦:" + innerFunc);
                    } else {
                        outerFunc = lineTxt.split("\\(")[0];
                        System.out.println("外部啦:" + outerFunc);
                    }
                }
                read.close();
                return invocList;
            } else {
                System.out.println("找不到指定的文件");
                return null;
            }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
            return null;
        }

    }

参考:
https://blog.csdn.net/weixin_43595256/article/details/89456210

(2)读取目录下的所有文件名

/**
     * 读取目录下的文件名,没有path,纯文件名。
     */
    public static String[] getFilesName(String dentryPath){
        File file = new File(dentryPath); //需要获取的文件的路径
        String[] fileNameLists = file.list(); //存储文件名的String数组
        //File[] filePathLists = file.listFiles(); //存储文件路径的String数组
        return fileNameLists;
    }

参考:https://blog.csdn.net/yangyang975/article/details/108312789

posted on 2022-03-06 02:13  西伯尔  阅读(31)  评论(0编辑  收藏  举报