返回顶部
首页 > 资讯 > 精选 >Java的文件操作--1
  • 435
分享到

Java的文件操作--1

2023-06-03 06:06:00 435人浏览 安东尼
摘要

前两天看了《java核心编程》中对于java中的io输入输出讲解,收获良多,下面的程序是我读完书以后自己写的一个将zip文件集中的文件内容读取出来然后显示(只限于文本,其他文件将会产生乱码),此程序也可通过改进可以得到一个和winzip功能

前两天看了《java核心编程》中对于java中的io输入输出讲解,收获良多,下面的程序是我读完书以后自己写的一个将zip文件集中的文件内容读取出来然后显示(只限于文本,其他文件将会产生乱码),此程序也可通过改进可以得到一个和winzip功能一样的类(但是没有界面,主要是awt不会:--( ),过两天就把源码贴出来。很简单的一个类,希望对大家有用。[@more@]**
*功能:Zip文件释放,Zip文件目录、选择目录后显示文件内容
* 首先用户输入zip文件路径及名称,读取zip文件将文件集中的文件清单显示出来,
* 用户选择需要显示的文件,之后通过DatainputStream类将文件内容读取出来并
* 显示在标准输出端
*日期:2005-06-27
*作者:Pcera
*/
import java.util.*;
import java.util.zip.*;
import java.io.*;

class ZipFileHandle{
private String[] FileNameArray; //真实文件名存放数组
private String[] FileNameArrayShow; //需要显示的文件名存放数组
private ZipInputStream zipFile; //zip输入流对象
private ZipEntry entry; //zip文件入口对象
private int zipFileCount = 0; //zip中的文件总数


public ZipFileHandle(File file){
try{
while (!(file.exists())) {
System.out.println("Plase input right path again: ");
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
String filepath = userInput.readLine();
file = new File(filepath);
}
zipFile = new ZipInputStream(new FileInputStream(file));
while ((zipFile.getNextEntry()) != null){
zipFileCount++;
}
FileNameArray = new String[zipFileCount];
FileNameArrayShow = new String[zipFileCount];
}catch(IOException e){
System.out.println("初始化错误!!!");
e.printStackTrace();
}
}

public String[] getFileNameList(String show,File file){
try{
int i = 0;
String FileName;
zipFile = new ZipInputStream(new FileInputStream(file));
while ((entry = zipFile.getNextEntry()) != null){
FileName = entry.getName();
//真实文件名附值
FileNameArray[i] = FileName;
//显示文件名附值
if (FileName.equals("")) FileName = "...";
FileName = Integer.toString(i) + "-|" + FileName;
FileNameArrayShow[i] = FileName;
i++;
}
zipFile.close();
//根据条件返回文件数组
if(show == "sh"){
return FileNameArrayShow;
}else{
return FileNameArray;
}
}catch(IOException e){
System.out.println("读取zip文件内的文件名出错!!!");
e.printStackTrace();
return null;
}
}


public String loadFileCon(String fileName,File file,String type){
String fileContent = "",conTemp = "";
byte[] fileConfByte;
try{
//找到要显示的文件入口,然后读取通过文本格式读取文件内容
zipFile = new ZipInputStream(new FileInputStream(file));
//读取文件内容
while ((entry = zipFile.getNextEntry()) != null){
if (entry.getName().equals(fileName)){
//通过字节读取文件内容
if (type.equals("Byte")){
fileConfByte = new byte[(int)entry.getSize()];
DataInputStream reader = new DataInputStream(zipFile);
reader.readFully(fileConfByte,0,(int)entry.getSize());
fileContent = new String(fileConfByte);
}else if ((type.equals("Str"))){
//通过unicode字符读取文件内容
BufferedReader in = new BufferedReader(new InputStreamReader(zipFile));
while ((conTemp = in.readLine()) != null){
fileContent = fileContent + conTemp + "";
}
}
}
}
//关闭文件zip流
zipFile.closeEntry();
zipFile.close();
//返回
return fileContent;

}catch(IOException e){
System.out.println("读取文件内容失败!!!");
e.printStackTrace();
return null;
}

}


public static void main(String args[]){
String filePath;
String[] showFileArr;
String[] realFileArr;
String fileContent;
int choose;
//通过用户获得文件路径和文件名
try{
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Plase zip file path and name !!!");
filePath = userInput.readLine();
File file = new File(filePath);
while (!(file.exists())) {
System.out.println("Plase input right path again: ");
filePath = userInput.readLine();
file = new File(filePath);
}
//显示文件目录,显示选择的文件的内容
//获得真实文件名和显示文件名数组
ZipFileHandle zipFile = new ZipFileHandle(file);
showFileArr = zipFile.getFileNameList("sh",file);
realFileArr = zipFile.getFileNameList("gr",file);
//打印显示文件名数组
int i = 0;
while (i < showFileArr.length){
System.out.println(showFileArr[i]);
i++;
}
//通过用户输入获得需要显示的文件
System.out.println("Plase choose file num!!!");
choose = Integer.parseInt(userInput.readLine());
if ((choose <0)||(choose > showFileArr.length)){
System.out.println("Plase choose file num retry!!!");
choose = Integer.parseInt(userInput.readLine());
}
//获得用户选择的文件的内容
fileContent = zipFile.loadFileCon(realFileArr[choose],file,"Byte");
System.out.println(fileContent);

}catch(Exception e){
System.out.println("测试程序出错!!!");
e.printStackTrace();
}
}
}

--结束END--

本文标题: Java的文件操作--1

本文链接: https://lsjlt.com/news/233226.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java的文件操作--1
    前两天看了《java核心编程》中对于java中的IO输入输出讲解,收获良多,下面的程序是我读完书以后自己写的一个将zip文件集中的文件内容读取出来然后显示(只限于文本,其他文件将会产生乱码),此程序也可通过改进可以得到一个和winzip功能...
    99+
    2023-06-03
  • day 8 - 1 文件操作
    文件操作 注意: 1. r+ 最为常用 2.encoding 的编码格式一定要与文件编码格式一致 读取 r  rb #在本地创建 txt 格式的文件默认使用 gbk 格式 f = open('e:/py/file.txt',mode='...
    99+
    2023-01-30
    操作 文件 day
  • Java文件操作的方法
    这篇文章主要介绍“Java文件操作的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java文件操作的方法”文章能帮助大家解决问题。简介本程序主要采用了FileInputStream和FileOu...
    99+
    2023-06-30
  • 操纵文件:Java 文件操作的终极指南
    ...
    99+
    2024-04-02
  • 揭秘 Java 文件操作的奥秘:打破文件操作的障碍
    文件操作是 Java 程序设计中至关重要的一环,因为它允许程序与文件系统交互,存储和检索数据。本文旨在深入揭秘 Java 文件操作的奥秘,为读者提供全面且深入的理解。 文件输入 文件输入涉及从文件中读取数据。在 Java 中,主要使用以下...
    99+
    2024-04-02
  • Java之文件操作与IO
    目录 一.认识文件 1.1文件是什么?  1.2文件的组织  1.3文件路径 1.4文件的分类 二.文件操作 2.1File概述  三.文件内容操作--IO 3.1JavaIO的认识  3.2Reader和Writer ⭐Reader类  ...
    99+
    2023-09-06
    java 开发语言 文件操作 java-ee
  • JAVA中文件操作大全
    一.获得控制台用户输入的信息 public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); ...
    99+
    2023-06-03
  • 文件的操作
    前言:哈喽小伙伴们好久不见,国庆假期已经结束,接下来我们还是要马不停蹄的投入到学习当中,只有尽快调整状态回归学习,才能弯道超车。 今天我们一起来学习C语言——文件操作。 本篇文章讲到的所有函数均需要头文件#include。  目录 一....
    99+
    2023-10-20
    开发语言 c语言 指针
  • Java 文件操作的哲学:理解文件的本质
    文件是计算机系统中信息存储和管理的基本单元,也是 Java 文件操作的核心关注点。理解文件的本质对于有效地操作和管理文件至关重要。 抽象和层次结构 文件本质上是一个抽象概念,代表着存储在持久介质(例如磁盘或内存)中的一组数据。文件的逻辑结...
    99+
    2024-04-02
  • java io文件操作删除文件或文件夹的方法
    这篇文章主要讲解了“java io文件操作删除文件或文件夹的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java io文件操作删除文件或文件夹的方法”吧!一、删除文...
    99+
    2023-06-29
  • 【基础操作】1.表操作
    -- 1.基本表操作表 drop table user1; create table user1( id   &nb...
    99+
    2024-04-02
  • Java 文件操作:处理文本文件的高级技术
    ...
    99+
    2024-04-02
  • Java SE 7文件操作中的路径操作是怎样的
    Java SE 7文件操作中的路径操作是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java SE 7中对Path类的操作主要有两种:对路径的操作和对文...
    99+
    2023-06-17
  • Java文件基本操作总结
    File文件类 java.io.File是文件和目录的重要类(JDK6及以前是唯一) 目录也使用File类进行表示 File类与操作系统无关,但会受到操作系...
    99+
    2024-04-02
  • JAVA文件读写操作详解
    目录一、读文件BufferedInputStream二、写文件BufferedOutputStream三、实际应用场景总结一、读文件BufferedInputStream Buffe...
    99+
    2024-04-02
  • Java文件操作实例详解
    本文实例为大家分享了Java文件操作的具体代码,供大家参考,具体内容如下 简介 本程序主要采用了FileInputStream和FileOutputStream两类对文件进行操作。具...
    99+
    2024-04-02
  • Java中怎么操作NIO2文件
    今天就跟大家聊聊有关Java中怎么操作NIO2文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。从classpath中读取过文件的人,都知道需要写一些读取流的方法,很是繁琐。最近使用...
    99+
    2023-06-16
  • Java压缩文件操作详解
    目录一、题目描述-压缩文本文件1、题目2、解题思路3、代码详解二、题目描述-压缩文件解压到指定文件夹1、题目2、解题思路3、代码详解三、题目描述-压缩所有子文件夹1、题目2、解题思路...
    99+
    2022-11-13
    Java 压缩文件夹 Java压缩文件操作 Java压缩文件
  • 详解Java目录操作与文件操作教程
    目录目录操作创建目录判断这个文件或目录是否存在判断是否是目录读取目录删除目录文件操作创建文件删除文件File对象常用函数目录操作 创建目录 File类中有两个方法可以用来创建文件夹:...
    99+
    2024-04-02
  • python 文件操作api(文件操作函数)
    python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:...
    99+
    2022-06-04
    操作 文件 函数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作