X11ClientHandler.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.primeton.damp.fileclient;
  2. import java.io.Closeable;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import java.nio.file.Path;
  7. import java.util.List;
  8. import java.util.Properties;
  9. /**
  10. *
  11. *
  12. * X11 连接。 可选的子实现:FTP, SFTP 协议。使用完成请关闭 close
  13. *
  14. *
  15. * Created by 59850 on 2019/3/28.
  16. */
  17. public interface X11ClientHandler extends Closeable {
  18. /**
  19. * 连接超时事件
  20. */
  21. public final static int CONNECT_TIMEOUT = 30_000;
  22. /**
  23. * 根据 配置参数,重新连接 ftp
  24. * @param params
  25. * @throws IOException
  26. */
  27. public void reconnect(Properties params) throws IOException;
  28. /**
  29. * 写入文件,输出流
  30. * @param file 文件地址,绝对路径
  31. * @param overwrite 是否覆盖写入
  32. * @return
  33. * @throws IOException
  34. */
  35. public OutputStream writeFile(String file, boolean overwrite) throws IOException;
  36. /**
  37. * 读取文件
  38. * @param file
  39. * @return
  40. * @throws IOException
  41. */
  42. public InputStream readFile(String file) throws IOException;
  43. /**
  44. * 重命名文件或者文件夹。总会吧最后一个 path 的资源重命名
  45. * @param file 路径
  46. * @param newFileName 新的文件名
  47. * @return
  48. */
  49. public boolean rename(String file, String newFileName);
  50. /**
  51. * 删除目录或文件
  52. * @param path
  53. * @return
  54. */
  55. public boolean deleteFile(String path);
  56. /**
  57. * 创建目录,, 如 Linux: mkdir /dir/path, 如 /dir 不存在则报错
  58. * @param path
  59. * @return
  60. */
  61. public boolean mkdir(String path);
  62. /**
  63. * 创建目录,多层级创建, 如 Linux: mkdir -p /dir/path
  64. * @param path
  65. * @return
  66. */
  67. public boolean mkdirs(String path);
  68. /**
  69. * 获取子目录或子文件
  70. * @param ftpPath
  71. * @return
  72. */
  73. public List<Path> getChildren(String ftpPath);
  74. /**
  75. * 判断是否存在该路径,无论文件夹或者文件
  76. * @param path
  77. * @return 返回 true 则存在
  78. */
  79. public boolean exists(String path);
  80. /**
  81. * 判断是否存在该文件夹
  82. * @param path 文件夹地址
  83. * @return 返回 true 则存在
  84. */
  85. public boolean existsDir(String path);
  86. /**
  87. * 判断是否存在该文件
  88. * @param path 文件地址
  89. * @return 返回 true 则存在
  90. */
  91. public boolean existsFile(String path);
  92. }