newfile如何使用遠程伺服器文件
通過 」new FileInputStream(文件路徑)「的形式進行上傳即可。舉例:
/**
* 加密文件
*
* @param fileName
* @param date
* @param plainFilePath 明文文件路徑路徑
* @param filepath
* @return
* @throws Exception
*/
public static String encodeAESFileUploadByftp(String plainFilePath, String fileName, String date,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("加密上傳文件開始");
byte[] bytes = encodeAES(key, bos.toByteArray());
ByteArrayInputStream is = new ByteArrayInputStream(bytes);
Log.info("連接遠程上傳伺服器"+CMBCUtil.CMBCHOSTNAME+":"+2021);
ftpClient.connect(CMBCUtil.CMBCHOSTNAME, 2021);
ftpClient.login(CMBCUtil.CMBCLOGINNAME, CMBCUtil.CMBCLOGINPASSWORD);
// Log.info("連接遠程上傳伺服器"+"192.168.54.106:"+2021);
// ftpClient.connect("192.168.54.106", 2021);
// ftpClient.login("hkrt-CMBCHK", "3OLJheziiKnkVcu7Sigz");
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
ftpClient.makeDirectory(date);
ftpClient.changeWorkingDirectory("/"+filepath+"/" + date);
}
}
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, is);
Log.info("加密上傳文件成功:"+fileName+"。文件保存路徑:"+"/"+filepath+"/" + date);
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);
}
}
}
}
㈡ 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();
}
}
㈢ 如何使用filezilla連接遠程伺服器
首先找到自己的軟體快捷方式或者.exe文件,點擊啟動。
軟體啟動後,主窗口這里有一個Quickconnect,輸入對應的host和賬號,密碼以及對應的埠號,點擊按鈕,即可連接:
如果不想進行Quickconnect,那可以選擇另外的方式,在菜單欄里選擇file->site Manager:
彈出新窗口。找到「New Site」按鈕,點擊:
會看到出現一個新的site,輸入自己需要的名字。在右邊輸入host的域名和埠號(如果需要的話)。
Logon Type選擇Normal,輸入正確的賬號和密碼,點擊connect按鈕:
然後可以在軟體的左上部看到連接的情況。
如果失敗,則會出現
Error: Connection timed out
Error: Could not connect to server
如果連接成功,右下框框會出現遠程伺服器的文件夾列表:
至此,連接FTP伺服器完成。希望我的回答能夠幫助到您,記得採納,謝謝
㈣ 如何使用filezilla連接遠程伺服器
這個直接輸入虛擬空間的ip地址、ftp賬號和密碼
除非你用的是加密的需要勾選tls
㈤ 如何使用filezilla連接遠程伺服器
啟動軟體後,主窗口這里有一個Quickconnect,輸入對應的host和賬號,密碼以及對應的埠號,點擊按鈕,即可連接:
如果不想進行Quickconnect,那可以選擇另外的方式,在菜單欄里選擇file->site Manager:
彈出新窗口。如下圖,找到「New Site」按鈕,點擊:
會看到出現一個新的site,輸入自己需要的名字。在右邊輸入host的域名和埠號(如果需要的話)。
Logon Type選擇Normal,輸入正確的賬號和密碼,點擊connect按鈕:
然後可以在軟體的左上部看到連接的情況。
如果失敗,則會出現
Error: Connection timed out
Error: Could not connect to server
如果連接成功,右下框框會出現遠程伺服器的文件夾列表:
㈥ 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();
㈦ 伺服器如何遠程連接傳輸文件
如果沒有公網的ip只能上軟體了,向日葵,花生殼,teamviewer等等。花生殼復雜點,弄成一個網段的然後共享。
㈧ java遠程讀寫文件詳解
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
* @author lmq
*
*/
public class RemoteFile {
public static void main(String[] args) throws Exception {
File remoteFile = new File("//192.168.7.146/test/1.txt");// 192.168.7.146是對方機器IP,test是對方那個共享文件夾名字,如果沒有共享是訪問不到的
//遠程文件其實主要是地址,地址弄對了就和本地文件沒什麼區別 ,windows裡面//或者\\\\開頭就表示這個文件是網路路徑了其實這個地址就像我們再windows裡面,點擊開始
//然後點擊運行,然後輸入 \\192.168.7.146/test/1.txt訪問遠程文件一樣的
BufferedReader br = new BufferedReader(new FileReader(remoteFile));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
}
}
希望能幫到你。
㈨ 如何檢查文件是否存在於遠程伺服器上
如果你的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有管理員許可權,登陸遠程桌面上去解壓
空間支持ASP或者PHP,可以上傳一個解壓縮的ASP,PHP上去解壓
如果是租的空間,可以聯系空間商,伺服器管理員,找技術員幫忙解壓一下。這不是什麼難事,如果他們不幫忙,可以考慮換空間了。