當前位置:首頁 » 文件管理 » java獲取上傳的文件

java獲取上傳的文件

發布時間: 2023-05-20 02:44:02

㈠ 如何用java讀取客戶端上傳的rar文件

直接通過工具類進行解壓或者壓縮文件即可。

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

/**
*
* @author gdb
*/
public class ZipUtilAll {
public static final int DEFAULT_BUFSIZE = 1024 * 16;

/**
* 解壓Zip文件
*
* @param srcZipFile
* @param destDir
* @throws IOException
*/
public static void unZip(File srcZipFile, String destDir) throws IOException
{
ZipFile zipFile = new ZipFile(srcZipFile);
unZip(zipFile, destDir);
}

/**
* 解壓Zip文件
*
* @param srcZipFile
* @param destDir
* @throws IOException
*/
public static void unZip(String srcZipFile, String destDir) throws IOException
{
ZipFile zipFile = new ZipFile(srcZipFile);
unZip(zipFile, destDir);
}

/**
* 解壓Zip文件
*
* @param zipFile
* @param destDir
* @throws IOException
*/
public static void unZip(ZipFile zipFile, String destDir) throws IOException
{
Enumeration<? extends ZipEntry> entryEnum = zipFile.entries();
ZipEntry entry = null;
while (entryEnum.hasMoreElements()) {
entry = entryEnum.nextElement();
File destFile = new File(destDir + entry.getName());
if (entry.isDirectory()) {
destFile.mkdirs();
}
else {
destFile.getParentFile().mkdirs();
InputStream eis = zipFile.getInputStream(entry);
System.out.println(eis.read());
write(eis, destFile);
}
}
}

/**
* 將輸入流中的數據寫到指定文件
*
* @param inputStream
* @param destFile
*/
public static void write(InputStream inputStream, File destFile) throws IOException
{
BufferedInputStream bufIs = null;
BufferedOutputStream bufOs = null;
try {
bufIs = new BufferedInputStream(inputStream);
bufOs = new BufferedOutputStream(new FileOutputStream(destFile));
byte[] buf = new byte[DEFAULT_BUFSIZE];
int len = 0;
while ((len = bufIs.read(buf, 0, buf.length)) > 0) {
bufOs.write(buf, 0, len);
}
} catch (IOException ex) {
throw ex;
} finally {
close(bufOs, bufIs);
}
}

/**
* 安全關閉多個流
*
* @param streams
*/
public static void close(Closeable... streams)
{
try {
for (Closeable s : streams) {
if (s != null)
s.close();
}
} catch (IOException ioe) {
ioe.printStackTrace(System.err);
}
}

/**
* @param args
* @throws java.lang.Exception
*/
public static void main(String[] args) throws Exception
{
// unZip(new File(ZipDemo.class.getResource("D:/123/HKRT-B2B.zip").toURI()), "D:/123/");
unZip("D:/123/123.zip", "D:/123/");
// new File();
}
}

㈡ java怎麼獲取上傳文件的後綴

給你個示例,應該看得懂吧
File f =new File("Test.txt");
String fileName=f.getName();
String prefix=fileName.substring(fileName.lastIndexOf(".")+1);
System.out.println(prefix);
}

㈢ java 怎麼獲取上傳文件的大小

用InputStream打開該文件。
InputStream in =new FileInputStream("sdf.txt");
int size=in.available()
得到了size就是你該文件的位元組數

㈣ JAVA如何獲取上傳後的文件名

這里的upload就是你web伺服器根目錄下的一個目錄,是放置上傳文件的目錄,而文件名是這個方法生成的its.getIPTimeStampRand(),據判斷應該是根據客戶端IP加上時間戳生成的唯一值,最後文件的後綴名是item.getName().split("\\.")[1],你可以去upload目錄就能看到。

㈤ java怎麼讀取上傳的excel文件

java怎麼讀取上傳的excel文件,解決辦法:

  1. 添加jar文件,java導入導出Excel文件要引入jxl.jar包,最關鍵的是這套API是純Java的,並不依賴Windows系統,即使運行在Linux下,它同樣能夠正確的處理Excel文件。

  2. jxl對Excel表格的認識,每個單元格的位置認為是由一個二維坐標(i,j)給定,其中i表示列,如歲j表示行,並且從上到下遞增,從左到右遞增。

  3. 對於合並單元格的以最左,最上的單元格的坐標為准。如下圖中t.xls,一班名單(0,0),陳茵(1,2),陳開先(1,6)。

4.java代碼對t.xls的讀取


㈥ java怎麼獲取上傳文件的路徑

java文件中獲得路徑
Thread.currentThread().getContextClassLoader().getResource("") //獲得資源文件(.class文件)所在路徑
ClassLoader.getSystemResource("")
Class_Name.class.getClassLoader().getResource("")
Class_Name.class .getResource("/")
Class_Name.class .getResource("") // 獲得當前類所在路徑
System.getProperty("user.dir") // 獲得項目根目錄的絕對路徑
System.getProperty("java.class.path") //得到類路徑和包路徑
列印輸出依次如下:
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/
F:\work_litao\uri_test
F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4j.jar
2、 JSP中獲得當前應用的相對路徑和絕對路徑
根目錄所對應的絕對路徑:request.getRequestURI()
文件的絕對路徑 :application.getRealPath(request.getRequestURI());
當前web應用的絕對路徑 :application.getRealPath("/");
取得請求文件的上層目錄:new File(application.getRealPath(request.getRequestURI())).getParent()

㈦ java如何獲取jsp頁面上傳的文件路徑

java文件中獲得路徑 ThreadcurrentThread()getContextClassLoader()getResource("") //獲得資源文件(class文件)所在路徑 ClassLoadergetSystemResource("") Class_NameclassgetClassLoader()getResource("") Class_Nameclass getResoujava如何獲取jsp頁面上傳的文件路徑

㈧ java怎麼獲取上傳文件的路徑

可以通過changeWorkingDirectory方法切換上傳路徑來進行文件上傳。 上傳方法舉例: /** * 上傳文件 * * @param fileName * @param plainFilePath 文件路徑路徑 * @param filepath * @return * @throws Exception */ public static String fileU

㈨ java request 怎麼查上傳文件

<form action="uploadURL" method="post" enctype="multipart/form-data"明坦>
標題:<input type="text" name="tit" /><br/>
內容:<input type="text" name="te" /><br/>
圖片1:<input type="file" name="img1"/><br/>
圖片2:<input type="file" name="img2"/><br/>
<input type="submit" value="提交">
</form>
//創建硬碟文件工廠對象,設置上傳的緩存區大小和臨時文件
DiskFileItemFactory disk=new DiskFileItemFactory();

//實例化servlet上傳的對象,把表單的數據都放在這個對象中
ServletFileUpload up=new ServletFileUpload(disk);
List<FileItem> list=up.parseRequest(request);
//由於list中有普通表單和非普通表單 所以給定兩拿族個集合
Map<String,String> map=new HashMap<String, String>();

for(int i=0;i<list.size();i++){
FileItem item=list.get(i); //獲取表單的數據
if(item.isFormField()){//判斷該數據屬否是普通表單的數據
//獲取普通表單的數據
String namename=item.getFieldName(); //獲取表單的名
String formvalue=item.getString(); //獲取輸出的值

String value=new String(formvalue.getBytes("ISO-8859-1"),"utf-8"); //給獲取的值 設置編碼
//把普通激敏桐表單的數據放入map中
map.put(namename, value);
}else{
//非普通
String filename=item.getName(); ////獲取文件名的名

//獲取伺服器上upload的地址
String rootpath=getServletContext().getRealPath("upload");
//獲取文件的路徑
String newpath=rootpath+"\\"+filename;
//寫入文件
item.write(new File(newpath));
li.add(filename);

}
}

㈩ java怎樣獲取上傳文件真實路徑

可以通過changeWorkingDirectory方法切換上傳路徑來進行文件上傳。
上傳方法舉例:
/**
* 上傳文件
*
* @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);
}
}
}
}
備註:只需要修改上傳的伺服器地址、用戶名、密碼即可進行伺服器訪問上傳。根據實際需要修改即可。

熱點內容
桑塔納全秀和半袖哪個配置高 發布:2025-02-10 07:55:42 瀏覽:349
手紋演算法 發布:2025-02-10 07:52:27 瀏覽:37
愛奇藝怎麼看賬號密碼 發布:2025-02-10 07:51:43 瀏覽:351
破解訪問許可權 發布:2025-02-10 07:17:24 瀏覽:663
慶余年密碼多少 發布:2025-02-10 07:16:38 瀏覽:201
ftp包括有哪兩個連接 發布:2025-02-10 07:11:50 瀏覽:423
壓縮模量es 發布:2025-02-10 07:11:47 瀏覽:115
雞尾酒配置酒什麼意思 發布:2025-02-10 07:01:34 瀏覽:139
c語言的架構設計 發布:2025-02-10 06:59:59 瀏覽:747
柯南可以緩存 發布:2025-02-10 06:59:52 瀏覽:422