當前位置:首頁 » 文件管理 » java遠程上傳文件

java遠程上傳文件

發布時間: 2022-09-05 08:13:13

java中用Socket遠程傳輸文件出現連接超時的異常

鏈接到遠程的伺服器端是可以的,ip地址填伺服器端的ip,埠號,伺服器端要設置的和你的客戶端一樣。

❷ Java文件上傳報錯:遠程主機強迫關閉了一個現有的連接

是不是前端哪兒寫錯了,如果是走不到斷點的話,那就是MutilpartFile 沒有接受到文件,是不是前端上傳文件的插件中有個文件名要和MultipartFile 的file名字一樣啊!

❸ 怎麼利用java將本地文件上傳至遠程伺服器,求源碼,要實驗過的,謝謝

將本地文件上傳到遠程伺服器windows一般用ftplinux用ssh。
-黑客榜上榜

❹ java上傳圖片到遠程伺服器上,怎麼解決呢

不好實現,網上有方法說用FTP,但是不會用啊,找了一個 public static void forcdt(String dir){ InputStream in = null; OutputStream out = null; File localFile = new File(dir);try{//創建file類 傳入本地文件路徑 //獲得本地文件的名字 String fileName = localFile.getName(); //將本地文件的名字和遠程目錄的名字拼接在一起 //確保上傳後的文件於本地文件名字相同 SmbFile remoteFile = new SmbFile("smb://administrator:[email protected]/e$/aa/"); //創建讀取緩沖流把本地的文件與程序連接在一起 in = new BufferedInputStream(new FileInputStream(localFile)); //創建一個寫出緩沖流(注意jcifs-1.3.15.jar包 類名為Smb開頭的類為控制遠程共享計算機"io"包) //將遠程的文件路徑傳入SmbFileOutputStream中 並用 緩沖流套接 out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile+"/"+fileName)); //創建中轉位元組數組 byte[] buffer = new byte[1024]; while(in.read(buffer)!=-1){//in對象的read方法返回-1為 文件以讀取完畢 out.write(buffer); buffer = new byte[1024];}}catch(Exception e){ e.printStackTrace();}finally{try{//注意用完操作io對象的方法後關閉這些資源,走則 造成文件上傳失敗等問題。! out.close(); in.close();

❺ java怎麼實現上傳附件的功能

上傳附件,實際上就是將文件存儲到遠程伺服器,進行臨時存儲。舉例:
**
* 上傳文件
*
* @param fileName
* @param plainFilePath 文件路徑路徑
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上傳文件開始");
Log.info("連接遠程上傳伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("檢查文件路徑是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查詢文件路徑不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上傳文件成功:"+fileName+"。文件保存路徑:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
備註:只需要修改上傳的伺服器地址、用戶名、密碼即可進行伺服器訪問上傳。根據實際需要修改即可。

❻ 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怎麼上傳文件到遠程Windows伺服器

安裝一個FTP就可以直接上傳下載了,你可以去伺服器廠商(正睿)的網上找找相關技術文檔參考一下,很快就清楚了!

❽ JAVA_JSCH如何遠程操作SFTP伺服器上的文件

使用SSH協議進行FTP傳輸的協議叫SFTP
換言之你的SSH協議一定啟用了,那麼使用基本linux命令在遠端執行即可。
我個人而言,JSCH一般是這樣用的:SFTP用於單純的文件上傳,之後直接使用基礎ssh協議執行遠端linux命令(比如說,移動文件或是重啟伺服器等等)
至於API的具體使用方式,稍微搜索一下很容易找到,比如這個:
http://blog.csdn.net/allen_zhao_2012/article/details/7941631

❾ javaweb 怎麼樣將本地文件傳輸到遠程伺服器

可以通過JDK自帶的API實現,如下代碼:
package com.cloudpower.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

/**
* Java自帶的API對FTP的操作
* @Title:Ftp.java
*/
public class Ftp {
/**
* 本地文件名
*/
private String localfilename;
/**
* 遠程文件名
*/
private String remotefilename;
/**
* FTP客戶端
*/
private FtpClient ftpClient;

/**
* 伺服器連接
* @param ip 伺服器IP
* @param port 伺服器埠
* @param user 用戶名
* @param password 密碼
* @param path 伺服器路徑
* @date 2012-7-11
*/
public void connectServer(String ip, int port, String user,
String password, String path) {
try {
/* ******連接伺服器的兩種方法*******/
//第一種方法
// ftpClient = new FtpClient();
// ftpClient.openServer(ip, port);
//第二種方法
ftpClient = new FtpClient(ip);

ftpClient.login(user, password);
// 設置成2進制傳輸
ftpClient.binary();
System.out.println("login success!");
if (path.length() != 0){
//把遠程系統上的目錄切換到參數path所指定的目錄
ftpClient.cd(path);
}
ftpClient.binary();
} catch (IOException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
public void closeConnect() {
try {
ftpClient.closeServer();
System.out.println("disconnect success");
} catch (IOException ex) {
System.out.println("not disconnect");
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
public void upload(String localFile, String remoteFile) {
this.localfilename = localFile;
this.remotefilename = remoteFile;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
//將遠程文件加入輸出流中
os = ftpClient.put(this.remotefilename);
//獲取本地文件的輸入流
File file_in = new File(this.localfilename);
is = new FileInputStream(file_in);
//創建一個緩沖區
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("upload success");
} catch (IOException ex) {
System.out.println("not upload");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void download(String remoteFile, String localFile) {
TelnetInputStream is = null;
FileOutputStream os = null;
try {
//獲取遠程機器上的文件filename,藉助TelnetInputStream把該文件傳送到本地。
is = ftpClient.get(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("download success");
} catch (IOException ex) {
System.out.println("not download");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

public static void main(String agrs[]) {

String filepath[] = { "/temp/aa.txt", "/temp/regist.log"};
String localfilepath[] = { "C:\\tmp\\1.txt","C:\\tmp\\2.log"};

Ftp fu = new Ftp();
/*
* 使用默認的埠號、用戶名、密碼以及根目錄連接FTP伺服器
*/
fu.connectServer("127.0.0.1", 22, "anonymous", "IEUser@", "/temp");

//下載
for (int i = 0; i < filepath.length; i++) {
fu.download(filepath[i], localfilepath[i]);
}

String localfile = "E:\\號碼.txt";
String remotefile = "/temp/哈哈.txt";
//上傳
fu.upload(localfile, remotefile);
fu.closeConnect();
}
}

熱點內容
網站架設多伺服器ip 發布:2024-10-12 07:42:15 瀏覽:188
linuxjdbc 發布:2024-10-12 07:38:10 瀏覽:198
pythonip正則表達式 發布:2024-10-12 07:30:24 瀏覽:178
xp怎麼認安卓手機 發布:2024-10-12 07:30:20 瀏覽:879
pythonmac開發工具 發布:2024-10-12 07:29:01 瀏覽:268
android字元數組 發布:2024-10-12 07:16:32 瀏覽:307
買安卓手機選什麼顏色 發布:2024-10-12 07:10:51 瀏覽:698
已經連接的wifi怎麼看密碼 發布:2024-10-12 07:06:07 瀏覽:59
sae上傳失敗 發布:2024-10-12 07:03:20 瀏覽:958
如何在伺服器上玩ai換臉 發布:2024-10-12 06:43:47 瀏覽:913