java移動文件
㈠ 用java製作一個文件系統管理器文件目錄瀏覽,創建目錄,移動文件,文件改名,文件刪除等等功能
/**
* 取得當前目錄下文件對象
* @return
*/
public static Iterator getFiles(File currentFile) {
Vector vector = new Vector();
File afile[] = currentFile.listFiles();
for (int i = 0; i < afile.length; i++)
if (afile[i].isFile())
vector.add(afile[i]);
return vector.iterator();
}
/**
* 取得當前目錄下的子目錄對象列表
* @return
*/
public static Iterator getAllDirectories(File currentFile) {
Vector vector = new Vector();
File afile[] = currentFile.listFiles();
//vector.add(new File(documentRoot, relativeFile + File.separator + "."));
try {
vector.add(new File(currentFile.getCanonicalFile() + File.separator + ".."));
for (int i = 0; i < afile.length; i++)
if (afile[i].isDirectory())
vector.add(afile[i]);
} catch (IOException e) {
if (log.isErrorEnabled()) log.error(e);
}
return vector.iterator();
}
/**
* 取得當前目錄下的子目錄對象列表
* @return
*/
public static Iterator getDirectories(File currentFile) {
Vector vector = new Vector();
File afile[] = currentFile.listFiles();
for (int i = 0; i < afile.length; i++)
if (afile[i].isDirectory())
vector.add(afile[i]);
return vector.iterator();
}
/**
* 將內容寫入文件
* @param file
* @param content
* @throws IOException
*/
public static void writeFile(String file, String content)
throws IOException {
PrintWriter printwriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),BIND_ENCODING)));
printwriter.write(content);
printwriter.close();
if (printwriter.checkError())
if (log.isErrorEnabled())
log.error("Error encountered while writing the file!");
else
return;
}
代碼太長,分批發.
㈡ java中文件移動問題,file.move
File的renameTo()就是移動。
它會刪掉原來下面的文件,然後在你指定的路徑創建一個文件。
前提你要保證指定的路徑存在,不存在就先創建。
㈢ 怎樣使用java編程實現文件的剪切/移動
可以通過BufferedReader 流的形式進行流讀取,之後通過readLine方法獲取到的內容,之後通過if判斷來實現在某些特定位置的內容的剪切和移動操作。
舉例:
BufferedReader bre = null;
OutputStreamWriter pw = null;//定義一個流
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
if(str.indexOf("排除")<0){//判斷是否需要舍棄
pw.write(str);//將要寫入文件的內容,可以多次write
}
}
bre.close();//關閉流
pw.close();//關閉流
解釋:以上方法是實現的刪除,if中的條件改變下,即可實現其餘的功能。
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。
㈣ java 中大文件 復制\移動 該如何處理,不能太占內存
就用普通的fileinputstream就行吧,java里對文件的讀寫還是比較快的。
不是這樣的吧。。。。
你可以設置下緩沖區的大小嘛,想設多大就設多大。
以前我處理過類似的情況,幾百兆的日誌文件吧,好像也沒做什麼特別的處理,設下緩沖區就可以了,哪兒能文件多大就全部讀到內存里。。。
㈤ Java怎麼移動文件夾里的文件到指定文件
是的,用File類的renameTo方法即可,注意目標文件名一定要合法,否則失敗!
/**
* 移動文件到指定目錄
*
* @param oldPath
* String 如:c:/fqf.txt
* @param newPath
* String 如:d:/fqf.txt
*/
public static void moveFile(String oldPath, String newPath) {
File(oldPath, newPath);
delFile(oldPath);
}
/**
* 移動文件到指定目錄
*
* @param oldPath
* String 如:c:/fqf.txt
* @param newPath
* String 如:d:/fqf.txt
*/
public static void moveFolder(String oldPath, String newPath) {
Folder(oldPath, newPath);
delFolder(oldPath);
}