當前位置:首頁 » 編程語言 » java傳文件

java傳文件

發布時間: 2022-09-24 09:18:07

A. java怎麼把文件傳輸到伺服器

String realpath = ServletActionContext.getServletContext().getRealPath("/upload") ;//獲取伺服器路徑
String[] targetFileName = uploadFileName;
for (int i = 0; i < upload.length; i++) {
File target = new File(realpath, targetFileName[i]);
FileUtils.File(upload[i], target);
//這是一個文件復制類File()裡面就是IO操作,如果你不用這個類也可以自己寫一個IO復制文件的類
}

其中private File[] upload;// 實際上傳文件

private String[] uploadContentType; // 文件的內容類型

private String[] uploadFileName; // 上傳文件名

這三個參數必須這樣命名,因為文件上傳控制項默認是封裝了這3個參數的,且在action裡面他們應有get,set方法

B. java中怎麼把文件上傳到伺服器的指定路徑

文件從本地到伺服器的功能,其實是為了解決目前瀏覽器不支持獲取本地文件全路徑。不得已而想到上傳到伺服器的固定目錄,從而方便項目獲取文件,進而使程序支持EXCEL批量導入數據。

java中文件上傳到伺服器的指定路徑的代碼:

在前台界面中輸入:

<form method="post" enctype="multipart/form-data" action="../manage/excelImport.do">

請選文件:<input type="file" name="excelFile">

<input type="submit" value="導入" onclick="return impExcel();"/>

</form>

action中獲取前台傳來數據並保存

/**

* excel 導入文件

* @return

* @throws IOException

*/

@RequestMapping("/usermanager/excelImport.do")

public String excelImport(

String filePath,

MultipartFile excelFile,HttpServletRequest request) throws IOException{

log.info("<<<<<<action:{} Method:{} start>>>>>>","usermanager","excelImport" );

if (excelFile != null){

String filename=excelFile.getOriginalFilename();

String a=request.getRealPath("u/cms/www/201509");

SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),filename);//保存到伺服器的路徑

}

log.info("<<<<<<action:{} Method:{} end>>>>>>","usermanager","excelImport" );

return "";

}

/**

* 將MultipartFile轉化為file並保存到伺服器上的某地

*/

public void SaveFileFromInputStream(InputStream stream,String path,String savefile) throws IOException

{

FileOutputStream fs=new FileOutputStream( path + "/"+ savefile);

System.out.println("------------"+path + "/"+ savefile);

byte[] buffer =new byte[1024*1024];

int bytesum = 0;

int byteread = 0;

while ((byteread=stream.read(buffer))!=-1)

{

bytesum+=byteread;

fs.write(buffer,0,byteread);

fs.flush();

}

fs.close();

stream.close();

}

C. JAVA 傳輸文件

//以前寫的一個文件傳輸的小程序,有客戶端和伺服器端兩部分,伺服器可//以一直運行,客戶端傳輸完一個後退出,當然你也可以根據你的需要改。
//伺服器端可以支持多個客戶端同時上傳,用到了多線程
/**
* 文件傳輸,客戶端
* @aurth anyx
*/
//package per.anyx.ftp;

import java.net.*;
import java.io.*;

public class FtpClient{
public static void main(String[] args){
if(args.length != 3){
System.out.println("Usage: FtpClient host_add host_port src_file");
System.exit(0);
}
File file = new File(args[2]);
if(!file.exists() || !file.isFile()){
System.out.println("File \"" + args[2] + "\" does not exist or is not a normal file.");
System.exit(0);
}
Socket s = null;
FileInputStream in = null;
OutputStream out = null;
try{
s = new Socket(args[0], Integer.parseInt(args[1]));
in = new FileInputStream(file);
out = s.getOutputStream();

byte[] buffer = new byte[1024*8];
int len = -1;
System.out.println("File tansfer statr...");
while((len=in.read(buffer)) != -1){
out.write(buffer, 0, len);
}
System.out.println("File tansfer complete...");
}catch(Exception e){
System.out.println("Error: " + e.getMessage());
System.exit(1);
}finally{
try{
if(in != null) in.close();
if(out != null) out.close();
if(s != null) s.close();
}catch(Exception e){}
}
}
}

/**
* 文件傳輸,伺服器端
* @aurth anyx
*/
//package per.anyx.ftp;

import java.net.*;
import java.io.*;

public class FtpServer{
public static void main(String[] args){
if(args.length != 1){
System.out.println("Usage: FtpServer server_port");
System.exit(0);
}
ServerSocket ss = null;
try{
ss = new ServerSocket(Integer.parseInt(args[0]));
System.out.println("FtpServer start on port ..." + args[0]);
while(true){
Socket s = ss.accept();
new FtpThread(s).start();
System.out.println(s.getInetAddress().getHostAddress() + " connected.");
}
}catch(Exception e){
System.out.println("Error: " + e.getMessage());
}finally{
try{
if(ss != null) ss.close();
}catch(Exception e){}
}
}
}

class FtpThread extends Thread{
Socket s;
long fileName = 0;
public FtpThread(Socket s){
this.s = s;
}
public void run(){
FileOutputStream out = null;
InputStream in = null;
File file = null;
do{
file = new File("" + (fileName++));
}while(file.exists());
try{
out = new FileOutputStream(file);
in = s.getInputStream();

byte[] buffer = new byte[1024*8];
int len = -1;
while((len=in.read(buffer)) != -1){
out.write(buffer, 0, len);
}
}catch(Exception e){
System.out.println("Error: " + e.getMessage());
}finally{
try{
if(in != null) in.close();
if(out != null) out.close();
if(s != null) s.close();
System.out.println(s.getInetAddress().getHostAddress() + " connect closed..");
}catch(Exception e){}
}
}
}

D. java開發的信息系統里,jsp與java文件是怎麼傳遞數據的

jsp與java文件傳遞數據可以使用Servlet類來傳遞,jsp將數據存入到request對象中,Servlet類獲取這個request對象,並將數據取出。學習java開發推薦選擇千鋒教育,一群草根奉獻著自己的青春年華,為創造一個有真正社會價值的職業教育機構「千鋒教育千鋒教育」而奮力拚搏。


學習Java的優勢:

1、Java廣受歡迎:Java仍然是世界上最受歡迎的編程語言之一,有無限多種方法使用Java。在TIOBE多次公布的編程語言排行榜,Java領跑前三!

2、薪資可觀:職業規劃公司Gooroo在一份薪資和需求報告中指出,Java仍然是美國、英國和澳大利亞最受歡迎和薪資最高的編程語言之一。

3、Java程序員市場緊缺:據不完全統計,目前國內每年IT人才缺口達20萬之多,而且缺口還在擴大,Java作為廣泛使用的編程語言,擁有龐大的客戶群,現有的人才儲備還遠遠不夠,在可預計的未來,Java程序員都將處於供小於求的狀態。

4、Java無處不在:據估計,全球范圍內有超過30億部設備運行Java,超過其他任何一種語言。

5、優秀的開發工具:能夠確保工作效率的優秀開發工具。


想要了解更多關於java開發的相關信息,推薦咨詢千鋒教育。千鋒企合作部整合大量企業客戶資源,緊抓當下企業需求,將技術和項目完美結合千鋒課程體系,力求培養更多優質人才服務企業,不斷提升學員競爭力,鏈接企業用人標準的培訓課程及實戰項目,讓企業招聘用人的技術要求與千鋒學員的技術充分對接。近年來不斷引進阿里釘釘小程序技術、紅帽認證、騰訊雲、亞馬遜等,通過與企業的深度融合實現千鋒教研和就業服務的迭代升級,專業性值得信賴。

E. java文件上傳

不可能不通過後台滴,但是可以通過ajax將路徑傳到後台,讓後台自己做i上傳。
或者讓後台直接調用ftp向伺服器端上傳。
只是單純用js還是不行的
而且你想直接獲取本地固定路徑的文件,是寫死的么?
那麼直接向後台發送一個請求到後台,開個線程不就自己上傳了么?
還用js幹嘛啊

F. java如何實現文件上傳

public static int transFile(InputStream in, OutputStream out, int fileSize) {
int receiveLen = 0;
final int bufSize = 1000;
try {
byte[] buf = new byte[bufSize];
int len = 0;
while(fileSize - receiveLen > bufSize)
{
len = in.read(buf);
out.write(buf, 0, len);
out.flush();
receiveLen += len;
System.out.println(len);
}
while(receiveLen < fileSize)
{
len = in.read(buf, 0, fileSize - receiveLen);
System.out.println(len);
out.write(buf, 0, len);
receiveLen += len;
out.flush();
}
} catch (IOException e) {
// TODO 自動生成 catch 塊
e.printStackTrace();
}
return receiveLen;
}
這個方法從InputStream中讀取內容,寫到OutputStream中。
那麼發送文件方,InputStream就是FileInputStream,OutputStream就是Socket.getOutputStream.
接受文件方,InputStream就是Socket.getInputStream,OutputStream就是FileOutputStream。
就OK了。 至於存到資料庫里嘛,Oracle里用Blob。搜索一下,也是一樣的。從Blob能獲取一個輸出流。

G. java 文件傳輸

文件傳輸有一點很重要 就是檢查文件完整的問題
如果是基於 c/s 的結構
可以考慮s對外提供檢索 文件 md5 或者 crc 32 的功能
c 向 s 請求 文件 md5 值 或者 crc32 值 用於判斷本地文件是否完整

H. Java 文件傳輸

byte[]
buf
=
new
byte[1024];
//read是輸入流中的一個方法,判斷流中是否還有數據,c!=-1就意味著流中無數據,所以應跳出循環,跟溢出沒關系
while((c
=
fis.read(buf))!
=-1){
fos.write(buf,o,c);//讀一位元組寫一位元組
}

I. java上傳文件代碼

public class FileUpLoad extends ActionSupport{

//"多文件上傳就用list就可以了private List<File> file;"
private File file;
//上傳文本的name

public File getFile() {

return file;

}

public void setFile(File file) {

this.file = file;

}

private String fileContentType;
//上傳的文件類型。

public String getFileContentType() {

return fileContentType;

}

public void setFileContentType(String fileContentType) {

this.fileContentType = fileContentType;
}

//獲取上傳文件的名稱
private String fileFileName;

public String getFileFileName() {

return fileFileName;

}

public void setFileFileName(String fileFileName) {

this.fileFileName = fileFileName;

}

public String upload() throws Exception

{
//獲取文件上傳路徑
String root=ServletActionContext.getRequest().getRealPath("/upload");

InputStream is=new FileInputStream(file);

String.substring(fileFileName.indexOf("."));//截取上傳文件的後綴。便於新定義名稱。.jpg

System.out.println(name);

File descFile=new File(root,新定義的文件名稱+fileFileName.indexOf("."));

OutputStream os=new FileOutputStream(descFile);

byte[] buffer=new byte[1024];
int length=0;

while(-1!=(length=(is.read(buffer))))

{

os.write(buffer, 0, length);

}

is.close();

os.close();

return SUCCESS;

}

}

熱點內容
阿里雲怎麼買游戲伺服器 發布:2025-01-10 02:01:51 瀏覽:845
dota和英雄聯盟哪個吃配置 發布:2025-01-10 02:00:33 瀏覽:179
華為雲伺服器怎麼登錄 發布:2025-01-10 01:59:48 瀏覽:125
東南大學知網伺服器地址 發布:2025-01-10 01:54:40 瀏覽:931
安卓手機剪映怎麼修改成4k幀率 發布:2025-01-10 01:08:21 瀏覽:951
微信哪個版本不要求配置 發布:2025-01-10 01:07:31 瀏覽:405
三星插卡激活要密碼是什麼意思 發布:2025-01-10 00:57:04 瀏覽:675
web伺服器搭建黑馬 發布:2025-01-10 00:56:05 瀏覽:825
戴爾伺服器可以當電腦 發布:2025-01-10 00:56:05 瀏覽:857
linux內存分布 發布:2025-01-10 00:55:58 瀏覽:125