導航:首頁 > 編程語言 > java遠程上傳文件

java遠程上傳文件

發布時間:2022-10-03 21:57:30

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

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

B. 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();
}
}

希望能幫到你。

C. 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();
}
}

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

需要這樣的一個包 jcifs-1.1.11
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();
}catch(Exception e){
e.printStackTrace();}
}
}

E. java項目中文件的上傳與讀取

互聯網項目一般會有單獨的伺服器存放靜態資源,圖片就是一種靜態資源,在這里就是區別於項目部署的另一台伺服器。這時候你項目裡面都是使用相對路徑,像你上面所說的常量/opt/upload/這種做法是正確的,上傳圖片的時候,常見的有使用日期分目錄存儲的,如/opt/upload/2014/11/03/***.jpg,對於圖片的路徑,資料庫里一般來說保存到2014/11/03/***.jpg就可以了。這是存圖片。
取圖片,一般來說資源都必須發布服務才能讓外網訪問。例如,你可以在你項目中寫個servlet用來讀取圖片,如下面的服務地址http://ip:port/projectname/image/2014/11/03/***.jpg,其中2014前面的路徑是固定的,後面的是你資料庫里存儲的圖片地址,這時你頁面代碼裡面只需固定前綴http://ip:port/projectname/image + 圖片相對地址則可將圖片讀出來。
上面這種方法用的其實比較少,一般來說靜態伺服器都會部署一個web容器,然後使用單獨的域名,打個比方,你在靜態伺服器上有個tomcat,目錄/opt/tomcat/webapp/staticprojectname,staticprojectname是工程名,然後在上傳的所有圖片在staticprojectname下面,例如/opt/tomcat/webapp/staticprojectname/2014/11/03/***.jpg,然後在你原工程裡面直接使用http://靜態服務ip:port/staticprojectname/2014/11/03/***.jpg就可以訪問到圖片了,同樣的在你代碼裡面2014前面的地址是固定的,配置成常量,後面的則是資料庫里存的圖片相對地址。
說了這么多,有點亂,希望你能明白

F. 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();

G. Java怎麼上傳文件到遠程Windows伺服器

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

閱讀全文

與java遠程上傳文件相關的資料

熱點內容
ca證書加密機價格 瀏覽:798
天乾地支年份演算法 瀏覽:796
程序員打造的視頻 瀏覽:6
java和php通信 瀏覽:679
為什麼黑程序員 瀏覽:162
程序員男生 瀏覽:455
戴爾文件夾內文件怎麼置頂 瀏覽:582
雲伺服器6m網速 瀏覽:722
vivo手機中國聯通伺服器地址 瀏覽:862
工程總控編譯失敗 瀏覽:706
燕趙紅楓app如何下載 瀏覽:867
php查殺軟體 瀏覽:878
教育管理學pdf 瀏覽:547
伺服器均衡怎麼使用 瀏覽:626
linux中jps 瀏覽:954
單片機實驗感想 瀏覽:561
程序員級別數學演算法邏輯 瀏覽:900
2k21公園怎麼換伺服器 瀏覽:724
php釋放資料庫連接 瀏覽:722
php網頁抓取工具 瀏覽:726