導航:首頁 > 文件教程 > java文件上傳時指定路徑

java文件上傳時指定路徑

發布時間:2024-03-03 23:08:14

⑴ 如何用java程序實現上傳文件到指定的URL地址

參考代碼如下:
import java.io.*;
/**
* 復制文件夾或文件夾
*/
public class CopyDirectory {
// 源文件夾
static String url1 = "f:/photos";
// 目標文件夾
static String url2 = "d:/tempPhotos";
public static void main(String args[]) throws IOException {
// 創建目標文件夾
(new File(url2)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(url1)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 復制文件
File(file[i],new File(url2+file[i].getName()));
}
if (file[i].isDirectory()) {
// 復制目錄
String sourceDir=url1+File.separator+file[i].getName();
String targetDir=url2+File.separator+file[i].getName();
Directiory(sourceDir, targetDir);
}
}
}
// 復制文件
public static void File(File sourceFile,File targetFile)
throws IOException{
// 新建文件輸入流並對它進行緩沖
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);

// 新建文件輸出流並對它進行緩沖
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);

// 緩沖數組
byte[] b = new byte[1024 * 5];
int len;
while ((len =inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此緩沖的輸出流
outBuff.flush();

//關閉流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
// 復制文件夾
public static void Directiory(String sourceDir, String targetDir)
throws IOException {
// 新建目標目錄
(new File(targetDir)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(sourceDir)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 源文件
File sourceFile=file[i];
// 目標文件
File targetFile=new
File(new File(targetDir).getAbsolutePath()
+File.separator+file[i].getName());
File(sourceFile,targetFile);
}
if (file[i].isDirectory()) {
// 准備復制的源文件夾
String dir1=sourceDir + "/" + file[i].getName();
// 准備復制的目標文件夾
String dir2=targetDir + "/"+ file[i].getName();
Directiory(dir1, dir2);
}
}
}
}

⑵ 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();

}

⑶ java上傳圖片到伺服器指定路徑

privateFilemyFile;//文件
;//類型
privateStringmyFileFileName;//文件名
//。。。。getXXX()setXXX()方法

//輸入流
InputStreamis=newFileInputStream(myFile);
//設定文件路徑
StringphotoPath=ServletActionContext.getServletContext()
.getRealPath("/user/photo/");
FilefilePhotoPath=newFile(photoPath);
//判斷這個路徑是否存在,如果不存在創建這個路徑
if(!filePhotoPath.isDirectory()){
filePhotoPath.mkdir();
}

Stringextension=FilenameUtils.getExtension(this
.getMyFileFileName());//後綴名比如jpg
Stringfilename=UUID.randomUUID().toString()+"."+extension;

//目標文件
Filetofile=newFile(photoPath,filename);
//輸出流
OutputStreamos=newFileOutputStream(tofile);
byte[]buffer=newbyte[1024];
intlength=0;
while((length=is.read(buffer))>0){
os.write(buffer,0,length);
}
//關閉輸入流
is.close();
//關閉輸出流
os.close();

⑷ 在Java項目中上傳圖片時如何使上傳的圖片自動保存到指定路徑

用struts也可以實現 多文件上傳

下面是我寫的代碼,

參數中有要保存的目錄

作為參考!

/*文件目錄*/
public static String [] fileArray={
"logo.png",
"index.swf",
"OEMInfo.txt",
"favicon.ico"};

/**
* @author Caoshun
* @see 接收並保存文件
* */
public static void receiveAndSaveAllFileByPath(ActionForm form,String rootPath1,String rootPath2){
String fileName="";
//獲取表單中的文件資源
Hashtable<Object, Object> files = form.getMultipartRequestHandler().getFileElements();
//遍歷文件,並且循環保存
//當前處理文件序號
int file_num=1;
for (Enumeration<Object> e = files.keys(); e.hasMoreElements();) {

/*根據處理的當前文件下標,確定文件名*/
fileName=fileArray[file_num-1];

FormFile file = (FormFile) files.get((String) e.nextElement());
if (file != null && file.getFileSize() > 0) {
try {
//使用formfile.getInputStream()來獲取一個文件的輸入流進行保存。
//文件名
//String fileName = file.getFileName();
//System.out.println("debug in AddEnterpriceAction.java on line 152 fileName is : "+fileName);
//文件大小
//int fileSize = file.getFileSize();
//文件流
InputStream is = file.getInputStream();
//將輸入流保存到文件
//String rootPath = this.servlet.getServletContext().getRealPath("files");

//往cn中寫入
File rf = new File(rootPath1);
FileOutputStream fos = null;
fos = new FileOutputStream(new File(rf, fileName));
byte[] b = new byte[10240];
int real = 0;
real = is.read(b);
while (real > 0) {
fos.write(b, 0, real);
real = is.read(b);
}

//往en中寫入
File rf2 = new File(rootPath2);
InputStream is2 = file.getInputStream();
FileOutputStream fos2 = null;
fos2 = new FileOutputStream(new File(rf2, fileName));
byte[] b2 = new byte[10240];
int real2 = 0;
real2 = is2.read(b2);
while (real2 > 0) {
fos2.write(b2, 0, real2);
real2 = is2.read(b2);
}

//關閉文件流
fos.close();
is.close();
fos2.close();
is2.close();
} catch (RuntimeException e1) {
e1.printStackTrace();
} catch (Exception ee) {
ee.printStackTrace();
}
file.destroy();

}
file_num++;
}
}

⑸ java 將瀏覽的圖片上傳到一個指定路徑的目錄中..

//新建一個Smartupload對象
SmartUpload su=new SmartUpload();
//上傳初始化
su.initialize(pageContext);
//設定上傳限度
//1.限定每個上傳文件的最大長度
//su.setMaxFileSize(100000);
//2.限制總上傳數據的長度。
//su.setTotalMaxFileSize(20000);
//3.設定允許上傳的文件(通過擴展名限制),僅允許doc,txt文件。
//su.setAllowFilesList("doc,text");
//4.設定禁止上傳的文件(通過擴展名限制),禁止上傳帶有exe,bat,jsp,htm,html擴展名的文件或沒有擴展名的文件
//su.setDeniedDilesList("exe,bat,jsp,html,htm,,");
//上傳文件
su.upload();
//將上傳文件全部保存到指定目錄
int count=su.save("/upload");
out.println(count+"個上傳文件成功!<br>");
//利用Request對象獲取參數之值
out.println("test="+su.getRequest().getParameter("test")+"<br><br>");
//逐一提取上傳文件信息,同時可保存文件。
for(int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file=su.getFiles().getFile(i);
//若文件不存在則繼續
if(file.isMissing())
continue;
//顯示當前文件信息
out.println("<table border=1>");
out.println("<tr><td>表單項名(FiledName)</td><td>"+file.getFieldName()+"</tr></tr>");
out.println("<tr><td>文件長度(Size)</td><td>"+file.getSize()+"</td><td>");
out.println("<tr><td>文件名(FileName)</td><td>"+file.getFileName()+"</tr></tr>");
out.println("<tr><td>文件擴展名(FiledExt)</td><td>"+file.getFileExt()+"</tr></tr>");
out.println("<tr><td>文件全名(FiledPathName)</td><td>"+file.getFilePathName()+"</tr></tr>");
out.println("</table><br>");
//將文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以web應用程序的根目錄為文件根目錄的目錄下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系統的根目錄為文件根目錄的目錄下
//file.safeAs("c://temp//"+myFile.getFileName(),su.SAVE_PHYSICAL);
}

只用修改相應的路徑 祝你好運!!!

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

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

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

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

privateString[]uploadFileName;//上傳文件名

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

閱讀全文

與java文件上傳時指定路徑相關的資料

熱點內容
iphoneid和密碼忘了怎麼辦 瀏覽:238
蘋果電腦優盤里的文件如何加密 瀏覽:284
word標題名和文件名一致 瀏覽:957
excel修改後的文件保持了怎麼恢復 瀏覽:340
社保網路認證怎麼弄 瀏覽:92
蘋果手機怎麼傳數據到新手機相冊 瀏覽:50
5s升級ios92無服務 瀏覽:354
ubuntu翻譯工具 瀏覽:665
wifi安裝教程 瀏覽:398
蘋果有些qq文件打不開 瀏覽:139
微信分身圖片緩存在哪個文件 瀏覽:544
眾籌用什麼網站 瀏覽:1
天馬座的幻想版本 瀏覽:536
微雲保存文件圖片沒有了 瀏覽:236
如何把excel表格圖片導出到文件夾 瀏覽:387
qq三國快速升級攻略 瀏覽:660
js監聽手機home事件 瀏覽:439
第2章linux的桌面管理副本 瀏覽:452
qq郵箱手機上登錄微信賬號密碼錯誤 瀏覽:627
編程如何讓人物重復發射子彈 瀏覽:853

友情鏈接