求一个纯JAVA的处理文件和目录的程序

WintelZhao 2005-02-23 10:23:13
远程读取,下载文件。
本地新建文件夹、拷贝文件、删除文件等。

就是做一个软件的更新程序。

希望给点源码看看。
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
rower203 2005-02-24
  • 打赏
  • 举报
回复
mark
WintelZhao 2005-02-24
  • 打赏
  • 举报
回复
哦,搞定了
WintelZhao 2005-02-24
  • 打赏
  • 举报
回复
eclipse和VE做的程序怎么只能以JAVA BEAN方式运行?
不可以以应用程序方式运行呢?
starsoulxp 2005-02-23
  • 打赏
  • 举报
回复
Java拷贝文件

import java.io.*;

public class jCOPY {
public static void main(String args[]){
try {
jCOPY j = new jCOPY(); j.CopyFile(new File(args[0]),new File(args[1]));
}
catch (Exception e) {
e.printStackTrace();
}
}

public void CopyFile(File in, File out) throws Exception {
FileInputStream fis = new FileInputStream(in);
FileOutputStream fos = new FileOutputStream(out);
byte[] buf = new byte[1024];
int i = 0;
while((i=fis.read(buf))!=-1) {
fos.write(buf, 0, i);
}
fis.close();
fos.close();
}
}
starsoulxp 2005-02-23
  • 打赏
  • 举报
回复
如何实现文件夹对文件夹的拷贝

/*
* CopyRight by http://www.designac.org
*/
package copyfile;
import java.io.*;
/**
* @author Administrator
*
* Class Function:
*/
public class copyDirectory {
public static void main(String args[]) throws IOException {
String url1="C:/Downloads/kele";
String url2="d:/java/copyfile/copy";
(new File(url2)).mkdirs();
File[] file=(new File(url1)).listFiles();
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(url2+"/"+file[i].getName());
byte[] b=new byte[1024*5];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(file[i].isDirectory()){
copyDirectiory(url2+"/"+file[i].getName(),url1+"/"+file[i].getName());
}
}
}
public static void copyDirectiory(String file1,String file2) throws IOException{
(new File(file1)).mkdirs();
File[] file=(new File(file2)).listFiles();
for(int i=0;i<file.length;i++){
if(file[i].isFile()){
FileInputStream input=new FileInputStream(file[i]);
FileOutputStream output=new FileOutputStream(file1+"/"+file[i].getName());
byte[] b=new byte[1024*5];
int len;
while((len=input.read(b))!=-1){
output.write(b,0,len);
}
output.flush();
output.close();
input.close();
}
if(file[i].isDirectory()){
copyDirectiory(file1+"/"+file[i].getName(),file2+"/"+file[i].getName());
}

}

}
}

starsoulxp 2005-02-23
  • 打赏
  • 举报
回复
引自http://blog.csdn.net/petehero/archive/2004/07/23/49801.aspx

java实现ftp下载文件
比如要下载ftp://ftp.xx.com/index.html则:

import sun.net.ftp.FtpClient;
import java.io.*;
import sun.net.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author petehero
* @version 1.0
*/

public class ftpDown
{

public ftpDown()
{

}
public static void main(String[] args)
{
try
{
FtpClient fc=new FtpClient("ftp.xx.com");
fc.login("username","888888");
int ch;
File fi = new File("c:\\index.html");
RandomAccessFile getFile = new RandomAccessFile(fi,"rw");
getFile.seek(0);
TelnetInputStream fget=fc.get("index.html");
DataInputStream puts = new DataInputStream(fget);
while ((ch = puts.read()) >= 0) {
getFile.write(ch);
}
fget.close();
getFile.close();
fc.closeServer();
}
catch (IOException ex)
{

ex.printStackTrace();
}

}
}



如果文件在某个目录下,则加入fc.cd("foodir");

jFresH_MaN 2005-02-23
  • 打赏
  • 举报
回复
本地的文件处理上面的就行
不能实现的还可以使用dos命令Runtime.exec()

远程地可以考虑RMI或者FTP或者Socket
starsoulxp 2005-02-23
  • 打赏
  • 举报
回复
◇ 文件或目录的生成

  public File(String path);/*如果path是实际存在的路径,则该File对象
    /*表示的是目录;如果path是文件名,则该File对象表示的是文件。*/
  public File(String path,String name);//path是路径名,name是文件名
  public File(File dir,String name);//dir是路径名,name是文件名

 ◇ 文件名的处理

  String getName( ); //得到一个文件的名称(不包括路径)
  String getPath( ); //得到一个文件的路径名
  String getAbsolutePath( );//得到一个文件的绝对路径名
  String getParent( ); //得到一个文件的上一级目录名
  String renameTo(File newName); //将当前文件名更名为给定文件的
                   完整路径

 ◇ 文件属性测试

  boolean exists( ); //测试当前File对象所指示的文件是否存在
  boolean canWrite( );//测试当前文件是否可写
  boolean canRead( );//测试当前文件是否可读
  boolean isFile( ); //测试当前文件是否是文件(不是目录)
  boolean isDirectory( ); //测试当前文件是否是目录

 ◇ 普通文件信息和工具

  long lastModified( );//得到文件最近一次修改的时间
  long length( ); //得到文件的长度,以字节为单位
  boolean delete( ); //删除当前文件

 ◇ 目录操作

  boolean mkdir( ); //根据当前对象生成一个由该对象指定的路径
  String list( ); //列出当前目录下的文件
yanglei031 2005-02-23
  • 打赏
  • 举报
回复
up

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧