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);
}