Java教程:SpringBoot在线代码修改器

  

项目上线之后,如果是后端报错,只能重新编译打包部署然后重启,如果仅仅是前端页面,样式,脚本修改,只需要替换到就可以了。

  

小公司的话可能比较自由,可以随意替换,但是有些公司权限设置的比较严格,需要提交申请交给运维去处理。

  

如果仅仅是一个前端问题,又很紧急,这时候提申请走流程势必会影响到用户的正常使用。

  

今天,给大家推荐一款前端代码文件编辑器来解决以上问题。

  

  

  

定义实体,用于前端文件树展示:

  <前>   <代码>      
     SysFile {   
,,   整数文件标识;   
,,      名称;   
,,   整数parentId;   
,,      parentPath;   
}   
  

由于项目采用的是SpringBoot框架,打成了战争包部署,后端采用以下方式获取文件列表:

  <前>   <代码>      
     
     
     
  (值=https://www.yisu.com/zixun/方法=RequestMethod.POST)   
  结果         FileNotFoundException {   
,,字符串filePath=ResourceUtils.getURL (   ).getPath ();   
,,List文件列表=,ArrayList<的在();   
,,getAllFilePaths (filePath文件列表,   ,   );   
,,   Result.ok(文件列表);   
}   
  

递归获取某目录下的所有子目录以及子文件:

  <前>   <代码>      
     
     
     
     
     
     List   (      
  ){   
,文件[]文件=文件(filePath) .listFiles ();   
,,   (文件==){   
,,,,   filePathList;   
,,}   
,,   (文件文件:文件){   
,,,,   num=filePathList.size () +   ;   
,,,,SysFile SysFile=SysFile ();   
,,,,sysFile.setName (file.getName ());   
,,,,sysFile.setFileId (num);   
,,,,sysFile.setParentId(水平);   
,,,,   (file.isDirectory ()) {   
,,,,,,   (要求等级==) {   
,,,,,,,,   (file.getName ()。   (   )| |   
,,,,,,,,,,,,file.getName ()。   (   )){   
,,,,,,,,,filePathList。   (sysFile);   
,,,,,,,,,,parentPath=SystemConstant.SF_FILE_SEPARATOR + file.getName ();   
,,,,,,,,,,getAllFilePaths (file.getAbsolutePath ()、filePathList num, parentPath);   
,,,,,,,,,,num + +;   
,,,,,,,,}   
,,,,,,}   {   
,,,,,,,filePathList。   (sysFile);   
,,,,,,,,字符串subParentPath=parentPath + SystemConstant.SF_FILE_SEPARATOR + file.getName ();   
,,,,,,,,getAllFilePaths (file.getAbsolutePath ()、filePathList num, subParentPath);   
,,,,,,,,num + +;   
,,,,,,}   
,,,,}   {   
,,,,,,   (要求等级!=) {   
,,,,,,,,sysFile.setParentPath (parentPath + SystemConstant.SF_FILE_SEPARATOR + file.getName ());   
,,,,,,,filePathList。   (sysFile);   
,,,,,,,,num + +;   
,,,,,,}   
,,,,}   
,,}   
,,   filePathList;   
}   
  

获取文件内容:

  <前>   <代码>      
     
     
     
@RequestMapping (value=https://www.yisu.com/zixun/方法=RequestMethod.POST)   
  getContent (   filePath)抛出FileNotFoundException {   
,,   路径=ResourceUtils.getURL (   ).getPath ();   
,,   内容=FileUtil.readUtf8String(路径+ filePath);   
,,      对吧(内容);   
}   
  

修改保存:

  <前>   <代码>      
     
     
     
@RequestMapping (=⒎椒?RequestMethod.POST)   
  结果   (   )抛出FileNotFoundException {   
,,=ResourceUtils.getURL(字符串路径   ).getPath ();   
,,      
     
     
,,   (活跃。   (   )){   
,,,,   Result.error (   );   
,,}   {   
,,,文件文件=文件(路径+ filePath);   
,,,,   lastModified=file.lastModified ();   
,,,,FileUtil.writeUtf8String(内容、路径+ filePath);   
,,,,file.setLastModified (lastModified);   
,,,,   Result.ok ();   
,,}   
}   
  

当然了,如果代码修改比较多,也可以对文件进行上传覆盖操作。

Java教程:SpringBoot在线代码修改器