java上傳linux文件大小
這個一般我們在後台配置,比如你如果使用的是struts2框架,就可以在struts.xml中添加配置項:
<constant name="struts.multipart.maxSize" value="52428800" />
㈡ java上傳文件到linux
1,問題引入
在linux下開發的上傳模塊,在windows下無法運行,提示找不到文件目錄或文件
2,原因
主要是因為linux和windows下由於用到了絕對路徑,而文件路徑間隔符不一樣導致的,,
3,解決方法
使用File.separator做文件間隔符,
注意:
在java中\t \a \b 等一般都有特別含義,所以文件路徑為:
String str = C:\a.txt (1)
則如果直接創建文件
File file = new File(str); (2)
則在(1)中就會出錯,
所以正確通用的的方法是:
String separator = File.separator;
String str1 = "C:"+separator+"a.txt"; (或者String str1 = "C:\\a.txt)
File file = new File(str1);
同理在linux下也是一樣,,,
㈢ java編程:文件上傳,,普通上傳沒有控制項,怎麼限制他的大小啊,比如上傳文件不得超過10M,求大神
在後台action中判斷,把上傳的文件流用位元組讀出來,判斷這個文件的位元組流大小。然後根據自己的設置的最多進行判斷,1kb=1024b
㈣ java 怎麼獲取上傳文件的大小
用InputStream打開該文件。
InputStream in =new FileInputStream("sdf.txt");
int size=in.available()
得到了size就是你該文件的位元組數
㈤ 怎麼在java中向linux上傳文件問題
分隔符window和linux的分隔符是不一樣的,對於這些文件路徑的分隔符,我建議使用: File.separator 例如一個路徑是D盤的test文件夾這樣表示: path = "D:"+File.separator+"test"+File.separator;
㈥ java ftp上傳5G以上大文件,怎麼做
java上傳可以使用common-fileupload上傳組件的。common-fileupload是jakarta項目組開發的一個功能很強大的上傳文件組件下面先介紹上傳文件到伺服器(多文件上傳):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 設置允許用戶上傳文件大小,單位:位元組,這里設為2m
fu.setSizeMax(2*1024*1024);
// 設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
// 設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath("c:\\windows\\temp");
//開始讀取上傳信息
List fileItems = fu.parseRequest(request);
// 依次處理每個上傳的文件
Iterator iter = fileItems.iterator();//正則匹配,過濾路徑取文件名
String regExp=".+\\\\(.+)$";//過濾掉的文件類型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表單信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{//保存上傳的文件到指定的目錄//在下文中上傳文件至資料庫時,將對這里改寫
item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"
");
}
catch(Exception e){
out.println(e);
} }
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}
}
}
㈦ java上傳文件到linux目錄下
想把文件上傳到Linux目錄下,可以下載個SSH工具,用SSH工具可以把你想要上傳的文件拖動到Linux目錄下。Linux目錄文件系統是以斜杠開頭的,沒有C盤D盤之分,比如/opt。
㈧ 在java上傳文件時 怎麼知道文件大小
publicstaticvoidgetFileSize(Stringpath){
//傳入文件路徑
Filefile=newFile(path);
//測試此文件是否存在
if(file.exists()){
//如果是文件夾
//這里只檢測了文件夾中第一層如果有需要可以繼續遞歸檢測
if(file.isDirectory()){
intsize=0;
for(Filezf:file.listFiles()){
if(zf.isDirectory())continue;
size+=zf.length();
}
System.out.println("文件夾"+file.getName()+"Size:"+(size/1024f)+"kb");
}else{
System.out.println(file.getName()+"Size:"+(file.length()/1024f)+"kb");
}
//如果文件不存在
}else{
System.out.println("此文件不存在");
}
}
㈨ java 上傳文件的大小是按什麼單位的
byte.比如要上傳一個3MB的文件,SmartUpload.setMaxFileSize(3*1024*1024);
㈩ 如何用java獲取linux下某文件夾的大小
javacode如下:import java.io.*; class dirlen { static long dirlength;//保存目錄大小的變數 static void sdl(String dirname) { File dir=new File(dirname); System.out.println(dirname); String f[]=dir.list(); File f1; for(int i=0;i<f.length;i++) { f1 = new File (dirname+"/"+f[i]); if (!f1.isDirectory()) dirlength+=f1.length(); else sdl(dirname+"/"+f[i]);//如果是目錄,遞歸調用 } } public static void main(String args[]) { if(args.length!=1)//判斷是否只帶一個參數,參數是目錄名 { System.out.println("Parameter error!"); System.exit(0); } dirlength=0; String dirname=args[0]; File dir=new File(dirname); if(dir.isDirectory())//判斷是否是目錄,如果不是退出程序 { sdl(dirname);//計算目錄大小 System.out.println("Length is "+dirlength+" bytes."); } else System.out.println(dir+" isn't a directory!"); } }