當前位置:首頁 » 文件管理 » javasftp上傳

javasftp上傳

發布時間: 2023-03-29 13:48:54

java怎麼實現Sftp上傳文件夾,包括整個目錄

遍歷文件夾,挨個上傳

❷ java前端下載完打開壓縮文件頭部錯誤

java前端下載完打開壓縮文件頭部錯誤解決辦法:
1、將本地數據備份成zip文件。
2、圓雀將備份的zip文件通過sftp上傳到文件伺服器。
3、岩腔攔將文件伺服器上的zip文件下載到運粗胡行伺服器。
4、將下載的zip文件解壓到本地(文件大小超過50KB時報文件被損壞)。

❸ jsch實現java sftp上傳,在非root用戶下出現permission dined異常,

這個正常,應該是你當前上傳用戶在上傳位置沒有許可權造成的,許可權應該在伺服器端修改

❹ java連接Sftp伺服器後,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法獲取的InputStream流為空

java連接Sftp伺服器後廳滾,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法獲取的InputStream流為空,檢查下第3方初始化段穗這些寫對沒有,或者就是沒扮燃余得到流,列印看看,解決問題。

❺ JAVA上傳SFTP 除了用jsch 還有什麼方式

JDK版本問題,換成1.8的就OK了

❻ Java怎麼均衡訪問多台ftp伺服器

多次需要把文件上傳到單獨的伺服器,而程序是在單獨的伺服器上部署的,在進行文件操作的時候就需要跨伺服器進行操作包括:文件上傳、文件下載、文件刪除等。跨伺服器文件操作一般是需要FTP協議和SFTP協議兩種,現在就通過Java實現FTP協議的文件上傳。要實現FTP操作文件需要引入jar包: commons-net-1.4.1.jar

參考資料來源:網路貼吧

❼ java向SFTP伺服器上傳文件,如何判斷伺服器上的文件夾是否存在

  • 如果你的JAVA部署的tomcat,就是你要查找文件的伺服器,那就用:

    File file = new File("文件路徑")。

  • 如果你本地的JAVA想要訪問遠程的一個伺服器的文件是否存在,就得用如下方法:

    URL url = new URL(「文件路徑:可以是本地伺服器的路徑,也可以是遠程伺服器的路徑」)

    HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();

    //message = urlcon.getHeaderField(0);

    //文件存在『HTTP/1.1 200 OK』 文件不存在 『HTTP/1.1 404 Not Found』

    Long TotalSize=Long.parseLong(urlcon.getHeaderField("Content-Length"));

    if (TotalSize>0){

    return true;

    }else{

    return false;

    }

❽ java通過sftp上傳大文件,時間長,而且會提示超出GC開銷限制,內存溢出,這種問題怎麼解決

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("GBK");
HttpSession session = (HttpSession) request.getSession();
final long MAX_SIZE = 10 * 1024 * 1024;// 設置上傳文件最大為 10M
// 允許上傳的文件格式的列表
final String[] allowedExt = new String[] { "jpg", "jpeg", "gif", "png",
"JPG", "bmp", "BMP" };
response.setContentType("text/html;charset=gbk");
// 設置字元編碼為UTF-8, 這樣支持漢字顯示
response.setCharacterEncoding("GBK");
String strImageName = (String) session.getAttribute("strName");
if (ServletFileUpload.isMultipartContent(request)) {
// 實例化一個硬碟文件工廠,用來配置上傳組件ServletFileUpload
DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 設置上傳文件時用於臨時存放文件的內存大小,這里是4K.多於的部分將臨時存在硬碟
dfif.setRepository(new File(this.getServletContext().getRealPath(
"/")
+ "Image"));// 設置存放臨時文件的目錄,web根目錄下的Image目錄
// 用以上工廠實例化上傳組件
ServletFileUpload sfu = new ServletFileUpload(dfif); // 設置最大上傳尺寸
sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter();
// 從request得到 所有 上傳域的列表
List fileList = null;
try {
fileList = sfu.parseRequest(request);
} catch (FileUploadException e) {// 處理文件尺寸過大異常
if (e instanceof SizeLimitExceededException) {
out.println("文件尺寸超過規定大小:" + MAX_SIZE + "位元組<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
e.printStackTrace();
}
// 沒有文件上傳
if (fileList == null || fileList.size() == 0) {
out.println("請選擇要上傳文件a<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
// 得到所有上傳的文件
Iterator fileItr = fileList.iterator();
// 循環處理所有文件
this.list = new ArrayList();
while (fileItr.hasNext()) {
long size = 0;
// 得到當前文件
fileItem = (FileItem) fileItr.next();
// 忽略簡單form欄位而不是上傳域的文件域(<input type="text" />等)
if (fileItem == null || fileItem.isFormField()) {
System.out.println(fileItem.getFieldName());
inputstr = fileItem.getString("GBK");
list.add(inputstr);
continue;
}
// 得到文件的完整路徑
path = fileItem.getName();
// 得到文件的大小
size = fileItem.getSize();
if ("".equals(path) || size == 0) {
out.println("請選擇上傳文件<p />");
out.println("<a href='addGoods.jsp' >返回</a>");
return;
}
System.out.println("文件的完整路徑" + path);
// 得到去除路徑的文件名
t_name = path.substring(path.lastIndexOf("\\") + 1);
// 得到文件的擴展名(無擴展名時將得到全名)
String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1);
// 拒絕接受規定文件格式之外的文件類型
//System.out.println("文件名:" + t_name);
//System.out.println("文件擴展名:"+t_ext);
// System.out.println(t_ext);
int allowFlag = 0;
int allowedExtCount = allowedExt.length;
for (; allowFlag < allowedExtCount; allowFlag++) {
if (allowedExt[allowFlag].equals(t_ext))
break;
}
if (allowFlag == allowedExtCount) {
out.println("請上傳以下類型的文件<p />");
for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++)
out.println("*." + allowedExt[allowFlag]
+ " ");
out.println("<p /><a href='addGoods.jsp' >返回</a>");
return;
}
long now = System.currentTimeMillis();
// 根據系統時間生成上傳後保存的文件名
u_name = this.getServletContext().getRealPath("/")
+ "ImageDown\\" + t_name;
//System.out.println(u_name);
try {
// 保存文件
fileItem.write(new File(u_name));
/*out
.println("文件上傳成功. 文件大小: " + size
+ "位元組<p />");
out.println("圖片上傳成功!"
+ "<a href='addGoods.jsp' >繼續添加商品</a>");*/
} catch (Exception e) {
e.printStackTrace();
}
}

❾ java sftp上傳文件 ,在cd時 空指針異常,伺服器上path存在

try {
sftp.cd(directory);
} catch (SftpException sException) {
if (sftp.SSH_FX_NO_SUCH_FILE == sException.id) {// 如果文件夾不存在,則進行新建
sftp.mkdir(directory);
sftp.cd(directory);
}
}
用這個就可以解決sftp服務目錄不存在問題

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:736
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:397
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:542
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:630
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365