在Java技術中,Java IO類庫提供了讀寫文件的便捷工具。本文將介紹如何使用Java IO創建多級文件夾。
首先,我們需要創建一個名為TestFile的Java類。接著,在類中聲明main函數,這是程序的入口點。
然後,我們創建一個File對象,並傳入一個路徑字元串,例如“f:/a/b”。這個路徑表示我們希望在f盤的根目錄下創建a和b兩個子文件夾。
接下來,我們調用File對象的mkdirs()方法。這個方法會檢查路徑中的每一級文件夾是否存在,如果不存在,則會創建相應的文件夾。因此,通過調用mkdirs()方法,我們可以一次性創建多級文件夾。
最後,運行程序後,我們可以打開f盤,查看是否成功創建了多級文件夾。通過這種方式,我們可以方便地利用Java IO類庫在文件系統中創建多級目錄結構。
② 請教Java怎樣實現跨伺服器文件上傳
你好!
另一台機器也要有處理文件上傳的WEB程序,你可以參考Stream上傳插件(支持HTML5和Flash兩種方式上傳)
Stream 上傳插件
Stream 是解決不同瀏覽器上傳文件的插件,是Uploadify的Flash版和Html5版的結合!
Stream 簡介
Stream 是根據某網的文件上傳插件加工而來,支持不同平台(Windows, Linux, Mac, Android, iOS)下,主流瀏覽器(IE7+, Chrome, Firefox, Safari, 其他)的上傳工作,當然在Html5標准下,還支持文件的斷點續傳功能,有效解決大文件的Web上傳問題!
主要特徵
1. 源碼完全開放,目前有Java、PHP、Perl三種後台語言實現
2. 支持HTML5、Flash兩種方式(跨域)上傳
3. 多文件一起上傳
4. HTML5支持斷點續傳,拖拽等新特性
5. 兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨遊等主流瀏覽器
6. 進度條、速度、剩餘時間等附屬信息
7. `選擇文件的按鈕`可以自定義
8. 簡單的參數配置實現 靈活多變的功能
9. 支持文件夾上傳(Chrome21+, Opera15+)
10. 支持自定義UI(V1.4+)
指定跨域上傳就可以了
這些都是小鳥雲的工程師告訴我的,建議你可以試試小鳥雲
③ java.io.File中mkdir和mkdirs的區別
mkdirs可以創建指定目錄以及所有的父目錄,創建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄,也就是可以在不存在的目錄中創建文件夾。
mkdir創建此抽象路徑名指定的目錄,也就是只能在已經存在的目錄中創建創建文件夾。
mkdirs()可以建立多級文件夾,mkdir()只會建立一級的文件夾, 如下:
File file=new File("/tmp/one/two/three");
file.mkdirs();
執行後, 會建立tmp/one/two/three四級目錄
file..mkdir();
則不會建立任何目錄, 因為找不到/tmp/one/two目錄, 結果返回false
④ 求java web 實現的文件上傳代碼 用開發環境是myeclipse
這個例子
下載:commons-fileUpload-1.2 的jar包:http://www.apache.org/commons/,同時可以把commons-IO的jar包一起下載,以後會用到的。
1、上傳的前台頁面:
<%@pagelanguage="java"import="java.util.*"contentType="text/html;charset=gbk" pageEncoding="gbk"%> <html> <body>
<form action="MultipartTestServlet" enctype="multipart/form-data" method="post">
<input type="text" name="username" /><br /> <input type="file" name="myfile" /><br/> <input type="file" name="myfile" /><br/> <input type="submit" /> </form> </body> </html>
2、上傳的後台代碼:
後台代碼是個servlet,很簡單咯,覺得比ASP利用組件還簡單。呵呵 package upload;
import java.io.File;
import java.io.IOException; import java.util.ArrayList
; import java.util.Iterator; import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.RequestContext;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;
public class MultipartTestServlet extends HttpServlet {
public MultipartTestServlet() { super(); }
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//設置request編碼,主要是為了處理普通輸入框中的中文問題 request.setCharacterEncoding("gbk");
//這里對request進行封裝,RequestContext提供了對request多個訪問方法 RequestContext requestContext = new ServletRequestContext(request); //判斷表單是否是Multipart類型的。這里可以直接對request進行判斷,不過已經以前的用法了
if(FileUpload.isMultipartContent(requestContext)){
DiskFileItemFactory factory = new DiskFileItemFactory(); //設置文件的緩存路徑
factory.setRepository(new File("c:/tmp/"));
ServletFileUpload upload = new ServletFileUpload(factory); //設置上傳文件大小的上限,-1表示無上限 upload.setSizeMax(100*1024*1024); List items = new ArrayList(); try {
//上傳文件,並解析出所有的表單欄位,包括普通欄位和文件欄位 items = upload.parseRequest(request); } catch (FileUploadException e1) {
System.out.println("文件上傳發生錯誤" + e1.getMessage()); }
//下面對每個欄位進行處理,分普通欄位和文件欄位 Iterator it = items.iterator(); while(it.hasNext()){
FileItem fileItem = (FileItem) it.next(); //如果是普通欄位
if(fileItem.isFormField()){
System.out.println(fileItem.getFieldName() + " " + fileItem.getName() + " " + new String(fileItem.getString().getBytes("iso8859-1"), "gbk")); }else{
System.out.println(fileItem.getFieldName() + " " + fileItem.getName() + " " + fileItem.isInMemory() + " " + fileItem.getContentType() + " " + fileItem.getSize());
//保存文件,其實就是把緩存里的數據寫到目標路徑下 if(fileItem.getName()!=null && fileItem.getSize()!=0){ File fullFile = new File(fileItem.getName());
File newFile = new File("c:/temp/" + fullFile.getName()); try {
fileItem.write(newFile); } catch (Exception e) { e.printStackTrace(); } }else{
System.out.println("文件沒有選擇 或 文件內容為空"); } } } } } }
3、編譯和配置servlet
先設置classpath,使它包含commons-fileUpload的jar包路徑,然後進行編譯即可,注意這里的包路徑。
然後打開站點下的web-inf路徑下的web.xml,在裡面添加: <servlet>
<servlet-name>MultipartTestServlet</servlet-name>
<servlet-class>upload.MultipartTestServlet</servlet-class> </servlet> <servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>helloApp.DispatcherServlet</servlet-class> </servlet>
好了,現在就可以文件上傳了,不過運行之前記得在c:/下新建tmp和temp文件夾,別忘了,不然程序會報告錯誤的。
⑤ java如何創建多級文件夾
在java技術中,javaio是讀寫文件的類庫,今天分析用javaio如何創建多級文件夾
1、創建一個類:TestFile.java
2、聲明main函數
3、創建一個File對象,傳入「f:/a/b」
4、調用File對象的mkdirs()方法
5、運行程序,打開f盤,可以看到多級文件夾已經創建成功