`

io包的综合运用

    博客分类:
  • Java
F# 
阅读更多
package io;

import java.io.File;
import java.io.FileFilter;
import java.io.FileReader;
import java.io.IOException;
import java.io.RandomAccessFile;

public class RandomAccessFileDemo implements FileFilter
{
public static void main(String[] args)
{
RandomAccessFileDemo r = new RandomAccessFileDemo();
File file1 = new File("G:\\a.txt");

// try
// {
// r.Read(file1);
// }
// catch (IOException e)
// {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
// try
// {
// r.cut(file1);
// }
// catch (IOException e)
// {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// File f = new File("G:\\");
// try
// {
// r.connectFile(f.listFiles());
//
// }
// catch (IOException e)
// {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
try
{
r.compress(file1);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("ok");
}

/**
* 读文件
* 
* @param file
* @throws IOException
*/
public void Read(File file) throws IOException
{
RandomAccessFile raf = new RandomAccessFile(file, "r");
byte b;
b = raf.readByte();
System.out.println((char) b);

}

/**
* 把一个文件拆分为每个大小为16k小的文件
* 
* @param file
* @throws IOException
*/
public void cut(File file) throws IOException
{
RandomAccessFile raf = new RandomAccessFile(file, "r");
// 获取文件的长度
int n = (int) raf.length();
for (int i = 0; i < n / (16 * 1024); i++)
{// 从file中读取16k然后创建一个新的文件,写入新建的文件中
byte[] bt = new byte[16 * 1024];
raf.read(bt);
File newFile = new File("G:\\" + i + "CutFile.txt");
newFile.createNewFile();
RandomAccessFile rafWrite = new RandomAccessFile(newFile, "rw");
rafWrite.write(bt);
}
}

/**
* 删除文件名以a.txt结束的文件
*/
public void del()
{
File file = new File("G:\\");
File f[] = file.listFiles();
for (File file2 : f)
{
if (this.accept(file2))
file2.delete();
}
}

/**
* 拼接文件
* 
* @param file
* @throws IOException
*/
public void connectFile(File[] file) throws IOException
{
RandomAccessFile raf1, raf2;
File connect = new File("G:\\connect.txt");
connect.createNewFile();
raf2 = new RandomAccessFile(connect, "rw");

StringBuffer sbf = new StringBuffer();
for (File file2 : file)
{
if (accept(file2))
{
raf1 = new RandomAccessFile(file2, "rw");
for (int i = 0; i < raf1.length() / 2; i++)
{
sbf.append(raf1.readChar());
}
}
}

raf2.writeChars(new String(sbf));
}

/**
* 压缩文件,剔除空格
* 
* @param file
* @throws IOException
*/
public void compress(File file) throws IOException
{
/* 还有问题,无法到达目的 */
FileReader fr = new FileReader(file);
RandomAccessFile raf = new RandomAccessFile(file, "r");
char[] ch = new char[(int) raf.length() / 2];
fr.read(ch);
StringBuffer sbf = new StringBuffer();
for (int i = 0; i < ch.length; i++)
{
if (ch[i] != ' ')
sbf.append(ch[i]);

}
File f = new File("G:\\compressFile.txt");
f.createNewFile();
RandomAccessFile raf1 = new RandomAccessFile(f, "rw");
raf1.writeChars(new String(sbf));
}

/**
* 
*/
public boolean accept(File pathname)
{
if (pathname.getName().endsWith("File.txt"))
return true;
else
return false;
}

}

 

分享到:
评论

相关推荐

    运用lua的io和String展开协议里的多种复杂字段

    标题中的“运用lua的io和String展开协议里的多种复杂字段”揭示了主要涉及的三个技术领域:Lua语言、io模块以及String操作。Lua是一种轻量级的脚本语言,广泛应用于游戏开发、嵌入式系统以及服务器配置等领域。在...

    java IO系统与正则表达式

    综合运用Java IO系统和正则表达式,可以有效地处理和分析数据,无论是简单的文件读写还是复杂的文本处理任务,都能展现出强大的功能。学习和掌握这两个核心技术,对于Java开发人员来说至关重要,能大大提高其在实际...

    字典dictionary综合运用

    ### 字典dictionary综合运用 #### 一、简介 在C#编程语言中,`Dictionary, TValue&gt;` 是一个非常强大的集合类型,它允许我们通过键(Key)来存储和检索值(Value)。与传统的列表或数组不同,字典提供了一种高效的...

    Java考试系统,使用了swing、文件IO、反射等JavaSE部分的基础知识。

    总的来说,这个Java考试系统综合运用了JavaSE的核心技术,为学习和理解Java编程提供了很好的实践案例。通过分析和研究这个系统,开发者可以深入掌握Swing界面设计、文件操作、反射机制以及MVC和设计模式的运用,从而...

    java io流 xml 泛型 例子学习

    这个例子展示了如何综合运用Java IO流、XML解析和泛型。通过Java IO流读取XML文件,使用DOM解析XML内容,最后将结果存储到泛型集合中。这样的设计提高了代码的类型安全性,同时使数据处理更加高效和灵活。 总之,...

    关于高速PCB中多路串行RapidIO应用分析.pdf

    在当今电子行业,随着新高速芯片的应用,信号工作频率越来越高,这使得在...对于设计者来说,必须综合运用信号完整性基础理论、阻抗匹配技术、高速布线技术以及电磁兼容性分析等专业知识,以确保高速PCB设计的成功。

    Java基础精品课20-IO.zip

    Java.IO是Java编程语言中的一个重要模块,主要用于处理输入/输出操作。这个压缩包"Java基础精品课20-IO.zip"很可能包含了一...通过学习这些材料,开发者可以更好地理解和运用Java IO,解决实际项目中的输入/输出问题。

    MySQL和IO 下1

    引擎的工作原理包括库、表、行、列的管理,事务处理,以及B+Tree作为核心数据结构的运用。内存管理涉及buffer pool和page,逻辑文件空间管理,IO线程池的控制,以及读写请求的同步和异步处理。缓存淘汰策略需与操作...

    Node.js-Fiora是一款web聊天应用.使用node.jsmongodbsocket.io和react编写

    综上所述,Fiora的实现涉及到了Node.js的服务器端开发、实时通信的Socket.IO、MongoDB的数据库管理以及React的前端构建,展示了现代Web应用开发的综合技术运用。通过深入理解并掌握这些技术,开发者可以构建出更多...

    iostat来对linux硬盘IO性能进行检测

    首先,要使用iostat,我们需要确保系统中已经安装了sysstat包,因为iostat是sysstat软件包的一部分。在RHEL或CentOS系统中,可以通过`yum -y install sysstat`命令来安装。安装完成后,我们就可以运行iostat来获取...

    C#数据库打包.rar

    在IT行业中,数据库打包是一项常见的任务,特别是在软件开发过程中,为了便于分发、备份或迁移数据,我们需要将数据库整理并封装成一...在实际应用中,根据具体需求和环境,可能还需要结合其他工具和技术进行综合运用。

    java基础综合案例--发红包【界面版】

    6. **IO流与序列化**:为了保存用户的账户信息和红包记录,可以使用Java的序列化技术将对象持久化到文件中。这样即使程序关闭,数据也能被恢复。 7. **控制结构**:在处理红包逻辑时,if-else语句和switch-case语句...

    java常用jar包集合

    1. **基础类库**:Java的基础JAR包,如rt.jar,包含了Java标准版的所有核心类库,包括IO、网络、集合、多线程等。这些是每个Java程序运行的基础。 2. **数据库连接驱动**:如mysql-connector-java.jar,是连接MySQL...

    Java综合经典实例大全

    《Java综合经典实例大全》是Java编程学习的重要资源,它包含了一系列丰富且具有代表性的实例,旨在帮助开发者深入理解和熟练运用Java语言。本资源主要针对Java编程初学者和有一定经验的开发者,通过实际操作和实践,...

    spfarmwater.github.io:Shopee农场用水网页

    综合以上信息,这个项目运用了HTML技术构建了一个关于Shopee农场用水管理的网页应用,旨在通过可视化界面帮助用户追踪和优化农业水资源的使用。开发过程中可能还涉及CSS和JavaScript来实现动态效果和用户交互,而...

    tpillow.github.io:包含我的项目和其他信息的网站

    综合以上信息,我们可以推测"tpillow.github.io"是一个基于HTML构建的个人网站,展示了作者在IT领域的技术能力,包括但不限于项目开发、网页设计和游戏竞赛。通过分析和浏览这个网站的源代码,我们可以深入了解作者...

    ElijahLiY.github.io:个人网站

    总的来说,ElijahLiY.github.io的项目是一个综合运用HTML、CSS和JavaScript构建的个人网站,展示了作者的技术能力和创作。通过分析其文件结构,我们可以了解网站的组织方式,以及如何利用开源工具和平台来发布和维护...

    本编辑器第一版(java源代码)

    同时,IO(输入输出)知识的运用意味着代码包含了读取和写入文件的功能,这是通过Java的java.io包实现的,如FileReader、FileWriter、BufferedReader和BufferedWriter等类。 "javaIO输入输出"这部分,我们可以深入...

    reversi-online:Cocos Creator+Socket.io制作的联机对战黑白棋

    【标题】"reversi-online:Cocos Creator+Socket.io制作的联机对战黑白棋" 涉及到的核心技术是使用Cocos Creator游戏引擎和...学习这个项目可以帮助开发者了解游戏开发中的实时网络交互以及Cocos Creator的综合运用。

    企业磁盘网络性能优化最佳实践.docx

    这涉及到对IO模型的理解、评估工具的运用以及监控指标的分析,最终通过性能定位和优化策略来改善系统整体表现。 二、评估IO能力的前提 1. IO模型:理解系统的IO模型是优化的第一步。IO模型包括同步与异步、阻塞与非...

Global site tag (gtag.js) - Google Analytics