/** * 功能: * 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
参考: