如何对.rar文件操作

Yujlyjl 2003-10-16 03:35:30
本人想做一个程序实现对.rar文件进行I/O处理.基本代码如下:
JarFile jarName;
try{
jarName=new JarFile(fileName);
}
catch(IOException e){System.out.println(e.toString());}
try{
FileInp=new java.io.FileInputStream(fileName);
jarInp=new java.util.jar.JarInputStream(FileInp);
int inum=0;
inum=jarInp.read(jarchar,inum,50);
System.out.println(inum);
System.out.println(jarchar[0]);
}
catch(IOException e){System.out.println(e.toString());}
在第一个try{}时,弹出错误消息是系统找不到指定的文件(文件已经创建好).
请问各位大虾:
如何连接.rar文件(针对带有文件夹的.rar文件如何对具体的文件进行连接)?
如何进行输入/输出操作.
...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Yujlyjl 2003-10-22
  • 打赏
  • 举报
回复
谢谢我已经找到.MichaelXiang(迈克尔) --10分
xiaozhao0416(龙卷风) --90分
xiaozhao0416 2003-10-22
  • 打赏
  • 举报
回复
你好!
MichaelXiang 2003-10-16
  • 打赏
  • 举报
回复
有关文件名及目录名的类:File 类独立于系统平台,利用构造函数
File( String path)、
File(String path, String FileName)、
File(File dir, String name) 等创建出File 对象;再利用canRead() 、canWrite()、 getParent()、 getPath()等成员函数实现对文件的各个属性的操作,以实现文件与目录的管理功能。
要点File 类提供了一种与机器无关的方式来描述一个文件对象的属性,通过类File所提供的方法,可以得到文件或目录的描述信息,这主要包括名称、所在路经、可读性、可写性、文件的长度等,还可以生成新的目录、改变文件名、删除文件、列出一个目录中所有的文件等文件与目录的管理功能。
实例:文件对象的属性操作方法
1:import java.io.*;
2:public class FileTest
3:{ public static void main(String []args)
4: {
5: String FileName=”C:\\temp\\myfile.dat”
6: File myFile=new File(FileName);
7: If( ! myFile. exists() )
8: { System.err.println(“Can’t Find ” + FileName);
9: return;
10: }
11: System.out.println(“File ” + FileName + “is ” +myFile.length() + “bytes Long !”);
12: If( myFile. isDirectory() )
13: { System.err.println(“File” + FileName +”Is a Directory !”);
14: return;
15: }
16: }
17:}
实例:演示File类中各种方法的使用
1:import java.io.*;
2:public class FileTest
3:{ //在执行该文件之前应该先拷贝一个文件名为File.txt的文件到当前程序所在的路径下
4: public static void main(String args[])
5: {
6:System.out.println("Path separator" +File.pathSeparator); // “;”各个文件路径之间的分隔符
7:System.out.println("Path separator char" +File.pathSeparatorChar);
8:System.out.println("separator " +File.separator); // “\”文件与路径之间的分隔符
9:System.out.println("separator char" +File.separatorChar);
10:File f=new File("File.txt");
11:System.out.println(f);
12:System.out.println("Exist ?" + f.exists());
13:System.out.println("name " + f.getName());
14:System.out.println("path " + f.getPath());
15:System.out.println("absolute path " + f.getAbsolutePath());
16:System.out.println("Parent " + f.getParent());
17:System.out.println("is a file ? " + f.isFile());
18:System.out.println("is a Directory ? " + f.isDirectory());
19:System.out.println("length" + f.length());
20:System.out.println("can read " + f.canRead());
21:System.out.println("can write " + f.canWrite());
22:System.out.println("last modified" + f.lastModified());
23:File newF=new File("newFile");
24:System.out.println("...Rename " + f+"....");
25:f.renameTo(newF);
26:System.out.println("name " + newF.getName());
27:System.out.println(f+"exist ? " + f.exists());
28:System.out.println("... delete "+newF+"...");
29:newF.delete();
30:System.out.println(newF+ "exist ?" + newF.exists());
31: }
32:}

实例:通过File类来实现列出一个目录下所有的*.class文件
1:import java.io.*;
2:public class FileFilterTest
3:{ public static void main(String args[])
4: {
5: File dir =new File("E:/jdk1.2/bin");
6: Filter filter =new Filter("class");
7: System.out.println("list html files in directory" + dir);
8: String files[]=dir.list(filter); //获得该目录下的各个文件名
9: for(int i=0; i<files.length; i++) //列出目录下所有匹配文件并存储到String 数组中。
10: { File f=new File(files[i]);
11: if(f.isFile())
12: System.out.println("file " +f);
13: else
14: System.out.println("sub directory " + f);
15: }
16: }
17:}
18:class Filter implements FilenameFilter
19:{ String extent;
20: Filter(String extent)
21: { this.extent=extent;
22: }
23: public boolean accept(File dir, String name)
24: { return name.endsWith("." + extent);
25: }
26:}

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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