RandomAccessFile类进行文件加密

文件加密/解密示例。

package io;

import java.io.*;

public class encrypt {

private File file; //存储文件对象信息

byte[] buf;  //缓冲区,存储文件中的所有数据    RandomAccessFile fp;

//用参数filename指定的文件构造一个filed对象存储

//同时为缓冲区buf分配与文件长度相等的存储空间

public encrypt(String filename){

file=new File(filename);

buf=new byte[(int)file.length()];

}

public encrypt(File destfile){

file = destfile;

buf = new byte[(int)file.length()];

}

//按照读写的方式打开文件

public void openFile()throws FileNotFoundException{

fp=new RandomAccessFile(file,"rw");

}

//关闭文件

public void closeFile()throws IOException{

fp.close();

}

//对文件进行加密/解密

public void coding()throws IOException{

//将文件内容读到缓冲区中        fp.read(buf);

//将缓冲区中的内容取反

for(int i=0;i<buf.length;i++)

buf[i]=(byte)(~buf[i]);

//将文件指针定位到文件头部

fp.seek(0);

//将缓冲区中的内容写入到文件中        fp.write(buf);

}

public static void main(String[] args) {

encrypt oa;

if(args.length<1){

System.out.println("你需要指定加密文件的名字!");

return;

}

try {

oa = new encrypt(args[0]);

oa.openFile();

oa.coding();

oa.closeFile();

System.out.println("文件加密成功!");

} catch (FileNotFoundException e) {

System.out.println("没有找到文件:"+args[0]);

}catch (IOException e){

System.out.println("文件读写错误:"+args[0]);

}

}

}

时间: 2024-10-24 22:31:36

RandomAccessFile类进行文件加密的相关文章

java RandomAccessFile类文件基本操作

RandomAccessFile类是java中仿C的文件操作方法,下面通过实例演示RandomAccessFile类对文件的基本操作,深入了解请查看Java API文档.(注:RandomAccessFile类大多不被采用) 上代码 import java.io.*; public class AccessFileDemo { public static void main(String[] args) { Student stu1=new Student("Zhang San",10

【Java IO流】RandomAccessFile类的使用

RandomAccessFile类的使用 RandomAccessFile类是java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. RandomAccessFile类实现步骤 (1)文件模型 第一步要知道,在硬盘上的文件时是以byte byte byte存储的,是数据的集合. (2)打开文件 打开文件硬盘上的文件有两种模式:“rw”(读写),“r”(只读).可以用RandomAccessFile类来指定打开文件的模式,如: RandomAcce

利用RandomAccessFile类在指定文件指定位置插入内容

package File; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.RandomAccessFile; /*利用RandomAccessFile类在指定文件指定位置插入内容.*/ public class InsertContent { public static void ins

[Java开发之路](7)RandomAccessFile类详解

RandomAccessFile适用于大小已知的记录组成的文件,提供的对文件访问,既可以读文件,也可以写文件,并且支持随机访问文件,可以访问文件的任意位置.文件中记录的大小不一定都相同,只要我们知道记录的大小和位置.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream继承层次结构中的一部分.除了实现DataInput和DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和

[Java IO]01_File类和RandomAccessFile类

File类 File类是java.io包中唯一对文件本身进行操作的类.它可以进行创建.删除文件等操作. File类常用操作 (1)创建文件 可以使用 createNewFille() 创建一个新文件. 注意: Windows 中使用反斜杠表示目录的分隔符"\". Linux 中使用正斜杠表示目录的分隔符"/". 最好的做法是使用 File.separator 静态常量,可以根据所在操作系统选取对应的分隔符. (2)删除文件 可以使用 delete() 删除一个文件.

cocos2d-x 图片资源加密,Lua文件加密 (转)

游戏开发中常遇到资源保护的问题. 目前游戏开发中常加密的文件类型有:图片,Lua文件,音频等文件,而其实加密也是一把双刃剑. 需要安全那就得耗费一定的资源去实现它.目前网上也有用TexturePacker工具来加密的,不过针对性还是不够强. 分析一下原理为: 1,转格式:将需要加密的文件转为流的方式: 2,加密:根据自己需要使用加密手段,MD5,AES,甚至可以直接改变位移,加一些自己的特殊字符也可以使文件简单加密,加密完后基本保证 图片类型基本用特殊软件预览不了也打不开,Lua文件加密后一片乱

java spring中对properties属性文件加密及其解密

原创整理不易,转载请注明出处:java spring中对properties属性文件加密及其解密 代码下载地址:http://www.zuidaima.com/share/1781588957400064.htm 加密类: package com.zuidaima.commons.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import

JavaIO流(02)RandomAccessFile类详解

RandomAccessFile类 该类主要是对文件内容进行操作,可以随机的读取一个文件中指定位置的数据: 但是如果想实现这样的功能,则每个数据的长度应该保持一致: 构造方法: 接受File类中的对象,但是在设置时需要设置模式,r:只读:w:只写:rw:读写(常用) public RandomAccessFile(File file, String mode)throws FileNotFoundException 不再使用File类对象表示文件,而是直接输入了一个固定的文件路径 public 

RandomAccessFile类

转自http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口