① java程序 如何設置下載文件的保存路徑
生成一個文件選擇窗口,讓用戶選擇路徑
② Java Web項目實現上傳文件以及下載文件功能的關於路徑的問題
你這個項目用的maven來管理包和依賴的,但你不用太在意這個maven的目錄結構啊.你做上傳的時候應該把文件放到個單獨的位置而不是放到src目錄裡面,因為這個src目錄部署後是要拷到WEB-INF下面的classes目錄的,如果確實需要這樣做,那你就在寫上傳代碼的時候把文件拷到target目錄中
③ 用java流的方式怎麼指定下載到指定目錄下
舉例代碼:
/**
*下載文件。
*@paramurlStr文件的URL
*@paramsavePath保存到的目錄
*@paramfileName保存的文件名稱
*@paramdescription描述(如:歌曲,專輯封面,歌詞等)
*@throwsIOException
*/
publicstaticvoiddownLoad(StringurlStr,StringsavePath,StringfileName,Stringdescription)throwsIOException
{
URLurl=newURL(urlStr);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(100000);//設置超時間為10秒
conn.setRequestProperty("User-Agent","Mozilla/4.0(compatible;MSIE5.0;WindowsNT;DigExt)");//防止屏蔽程序抓取而返回403錯誤
FilesaveDir=newFile(savePath);
Filefile=newFile(saveDir+File.separator+fileName);
try(InputStreaminputStream=conn.getInputStream();
FileOutputStreamfos=newFileOutputStream(file))
{
byte[]flowData=readInputStream(inputStream);
fos.write(flowData);
}catch(Exceptione){
MainFrame.logEvent("位元組保存時出現意外:"+e.getMessage());
}
MainFrame.logEvent(description+"下載完成:"+url);
}
MainFrame.logEvent()是我自己弄的日誌記錄而已,可以忽略不看
④ 我的世界java路徑怎麼設置
方法/步驟
下載Java:打開網頁,搜索Java,進入官網,點擊免費Java下載,再點擊同意並開始免費下載。路徑個人建議下載到本地磁碟D,若不想下載到D盤,則需記住下載的具體位置。
安裝Java:下載完畢後進行安裝,這里便是關鍵了,切記,安裝時勾選安裝界面左下角更改目標文件夾,點擊安裝。
更改路徑:進入目標文件選擇界面,點擊更改,選擇一個空文件夾,並且打上Java的名字(方便以後選擇與刪除),點擊確定,進行下一步。
啟動我的世界:安裝完畢後,打開我的世界PC版啟動器界面,打開設置界面,點擊瀏覽。
選擇路徑:找到自己剛才安裝Java時的文件夾。(註:有的系統會自動轉移到C盤的Program Files,不過沒有多大關系,裡面也會有一個Java的文件夾)選擇Java文件夾並打開,繼續打開jre7文件夾,點擊bin文件夾,裡面有個javaw.exe目標,選擇並確定,保存設置,點擊啟動,這樣就可以暢快無阻地享受游戲的歡樂了。希望此片經驗能幫到您!
END
注意事項
下載Java時需要下載系統能運行的版本。
⑤ java實現下載文件時讓用戶自定義選擇下載路徑
這個下載路徑不是由java控制的,而是你的瀏覽器控制的,把瀏覽器的默認下載路徑去掉就可以了
⑥ java 下載伺服器端文件,路徑怎麼寫
//得到當前路徑下的upload文件夾String strPath = request.getSession().getServletContext().getRealPath("/upload");
⑦ 用java下載指定路徑下的文件夾,下載內容包含指定文件夾及其包含的文件夾子文件!!
這個做不了的, 在計算機,你用命令去復制粘貼都需要指定是否遞歸復制
也就是說,如果你想下載指定的文件夾,你需要做很多的處理,一個一個文件的下載,然後下載到相對路徑中去,還有一種方案就是直接將文件夾打包再下載
⑧ ftp java 下載的時候怎麼保存到指定位置
通過工具類來實現本地路徑定義和下載即可。
import hkrt.b2b.view.util.Log;
import hkrt.b2b.view.util.ViewUtil;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class CCFCCBFTP {
/**
* 上傳文件
*
* @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);
}
}
}
}
/**
*下載並解壓文件
*
* @param localFilePath
* @param fileName
* @param routeFilepath
* @return
* @throws Exception
*/
public static String fileDownloadByFtp(String localFilePath, String fileName,String routeFilepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FileOutputStream fos = null;
FTPClient ftpClient = new FTPClient();
String SFP = System.getProperty("file.separator");
String bl = "false";
try {
Log.info("下載並解密文件開始");
Log.info("連接遠程下載伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
CMBCUtil.CMBCLOGINPASSWORD);
FTPFile[] fs;
ftpClient.makeDirectory(routeFilepath);
ftpClient.changeWorkingDirectory(routeFilepath);
bl = "false";
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
bl = "true";
Log.info("下載文件開始。");
ftpClient.setBufferSize(1024);
// 設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
InputStream is = ftpClient.retrieveFileStream(fileName);
bos = new ByteArrayOutputStream(is.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = is.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
fos = new FileOutputStream(localFilePath+SFP+fileName);
fos.write(bos.toByteArray());
Log.info("下載文件結束:"+localFilePath);
}
}
Log.info("檢查文件是否存:"+fileName+" "+bl);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon("查詢無結果,請稍後再查詢。");
return bl;
}
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);
}
}
if (fos != null) {
try {
fos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
// 調用樣例:
public static void main(String[] args) {
try {
// 明文文件路徑
String plainFilePath = "D:/req_20150204_0011.txt";
// 密文文件路徑
String secretFilePath = "req_20150204_00134.txt";
fileDownloadByFtp("D://123.zip","123.zip","req/20150228");
} catch (Exception e) {
e.printStackTrace();
}
}
}
⑨ 用java下載指定路徑下的文件夾,下載內容包含指定文件夾及其包含的文件夾子文件!!!
public static void main(String[] args) throws InterruptedException {
// 指定文件夾
File file = new File("D:\\downloads\\");
List<File> fileList = null;
// 包含字元
String filter = "j";
if (file != null) {
if (file.isDirectory()) {
File[] fileArray = file.listFiles();
if (fileArray != null && fileArray.length > 0) {
fileList = new ArrayList<File>();
// 包括文件,文件夾的判斷
for (File f : fileArray) {
String fileName = f.getName();
if (fileName.indexOf(filter) != -1) {
fileList.add(f);
}
}
}
} else {
System.out.println("Not Directory.");
}
}
if (fileList != null && fileList.size() > 0) {
for (File f : fileList) {
System.out.println(f.getName());
}
}
}
希望對你有所幫助。。。