程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java同步文件到Jboss虛擬目錄

Java同步文件到Jboss虛擬目錄

編輯:關於JAVA

使用Maven開發的,有一個問題大家肯定是深惡痛絕。

“每一次開發完成,都需要maven打包部署”

比如某公司自己在maven上開發了插件,其中包含了自定義邏輯,那麼其部署每一次都必須package一把,開發效率極其低下。使用同步工具,差點讓我吐血,想想還是算了,自己寫個同步的程序.

  1. package com.ycl.filter.FileCleaner;
  2. import Java.io.File;
  3. import Java.io.FileFilter;
  4. import Java.io.FileNotFoundException;
  5. import Java.io.FileReader;
  6. import Java.io.FileWriter;
  7. import Java.io.IOException;
  8. import Java.io.Reader;
  9. import Java.io.Writer;
  10. import Java.util.HashMap;
  11. import Java.util.Map;
  12. import org.apache.commons.io.IOUtils;
  13. public class FileSyn {
  14. static Map<String, String> map = new HashMap<String, String>();
  15. /**
  16. * 同步一個源文件目錄到目標文件目錄
  17. * 默認去.svn不進行同步
  18. * @param target
  19. * @param source
  20. * @param fileName
  21. */
  22. public static void synFile(String target, String source) {
  23. File sourcePath = new File(source);
  24. File targetPath = new File(target);
  25. index(sourcePath);
  26. synPath(sourcePath, targetPath,new FileFilter(){
  27. @Override
  28. public boolean accept(File file) {
  29. if(file.getAbsolutePath().contains(".svn")){
  30. return false;
  31. }
  32. return true;
  33. }
  34. });
  35. }
  36. /**
  37. * 同步一個源文件目錄到目標文件目錄
  38. *
  39. * @param target
  40. * @param source
  41. * @param fileName
  42. */
  43. public static void synFile(String target, String source,FileFilter fileFilter) {
  44. File sourcePath = new File(source);
  45. File targetPath = new File(target);
  46. index(sourcePath);
  47. synPath(sourcePath, targetPath,fileFilter);
  48. }
  49. /**
  50. * 同步兩目錄下的文件
  51. * 過濾.svn文件夾下的不需要同步
  52. * @param sourcePath
  53. * @param targetPath
  54. */
  55. public static void synPath(File sourcePath, File targetPath,FileFilter fileFilter) {
  56. if (sourcePath.isDirectory()) {
  57. File[] files = sourcePath.listFiles(fileFilter);
  58. for (File sourceFile : files) {
  59. try {
  60. if (sourceFile.isDirectory()) {
  61. File targetFile = new File(targetPath, sourceFile
  62. .getName());
  63. if (!targetFile.exists()) {// 目錄不存在會自動創建
  64. targetFile.createNewFile();
  65. }
  66. synPath(sourceFile, targetFile,fileFilter);
  67. } else if (sourceFile.isFile()) {
  68. File targetFile = new File(targetPath, sourceFile
  69. .getName());
  70. if (!targetFile.exists()) {// 文件不存在會自動創建
  71. targetFile.createNewFile();
  72. }
  73. boolean flag = synFile(sourceFile, targetFile);
  74. if (flag) {
  75. System.out.println("同步文件:["
  76. + sourceFile.getAbsolutePath() + ","
  77. + targetFile.getAbsolutePath() + "]成功!");
  78. }
  79. }
  80. } catch (IOException e) {
  81. System.out.println("源文件:"+sourceFile.getAbsolutePath());
  82. e.printStackTrace();
  83. }
  84. }
  85. }
  86. }
  87. /**
  88. * 同步一個源文件目錄到目標文件目錄 指定某個文件名. 用源文件覆蓋目錄文件.[當源文件比目錄文件新的時候].
  89. *
  90. * @param target
  91. * @param source
  92. * @param fileName
  93. */
  94. public static boolean synFile(File sourceFile, File targetFile) {
  95. boolean flag = false;
  96. Reader reader = null;
  97. Writer writer = null;
  98. try {
  99. if(sourceFile.getAbsolutePath().contains("AddRole")){
  100. System.out.println("source最後修改
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved