简单的文件读写---文件简单的加密、解密

文件加密

package encryption;

import java.io.File;

import java.io.IOException;
import java.io.RandomAccessFile;

public class Encryption {
    //文件加密
    public static void Encrypt(File file){
        if(file == null){
            return;
        }
        try {
            @SuppressWarnings("resource")
            RandomAccessFile rsf = new RandomAccessFile(file, "rw");

            byte[] bs = new byte[10];
            rsf.read(bs);
            byte[] b = new byte[(int) (file.length()-10)];
            rsf.read(b);
            rsf.seek(0);
            rsf.write(b);
            rsf.write (bs);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("读写错误",e);
        }
    }
    public static void main(String[] args) throws IOException {
        String path = "E:\\要加密的文件";
        File file = new File(path);
        if(file.isDirectory()){
            String[] files = file.list();
            for(int i=0;i<=files.length-1;i++){
                //获取加密文件
                File f = new File(path+File.separator+files[i]);
                if(!f.isDirectory()){
                    Encrypt(f);
                }
            }
        }
    }
}

文件解密



package decrypt;

import java.io.File;

import java.io.IOException;
import java.io.RandomAccessFile;

public class Decrypt {
    //文件解密
    public static void Encrypt(File file){
        if(file == null){
            return;
        }
        try {
            @SuppressWarnings("resource")
            RandomAccessFile rsf = new RandomAccessFile(file, "rw");
            byte[] b = new byte[(int) (file.length()-10)];
            rsf.read(b);
            byte[] bs = new byte[10];
            rsf.read(bs);

            rsf.seek(0);
            rsf.write(bs);
            rsf.write(b);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("读写错误",e);
        }

    }
    public static void main(String[] args) throws IOException {
        String path = "E:\\要解密的文件";
        File file = new File(path);
        if(file.isDirectory()){
            String[] files = file.list();
            for(int i=0;i<=files.length-1;i++){
                //获取解密文件
                File f = new File(path+File.separator+files[i]);
                if(!f.isDirectory()){
                    Encrypt(f);
                }
            }
        }
    }
}

 
时间: 2024-10-09 09:33:03

简单的文件读写---文件简单的加密、解密的相关文章

文件读写&amp;文件夹遍历

 文件读写 读文件(行) private void readFile(File file) throws IOException { FileInputStream stream = null; stream = new FileInputStream(file); DataInputStream sysin = new DataInputStream(stream); String line = null; while ((line = sysin.readLine()) != null)

一个简单的python读写文件脚本

#!/usr/bin/env python 'makeFile.py -- create a file' import os ls = os.linesep # get filename while True: fname = raw_input('Input an unused file name >') if os.path.exists(fname): print "ERROR: '%s' already exists" %fname else: break # get f

HDFS文件读写流程简单图解

在活动反思文件系统中

python文件读写 - 文件r+ open读写实际表现

先说结论: 文件r+ open: 1. write()不能实现插入写,它总是覆盖写或附加写: 2. 如果文件一打开即write(),则从开头覆盖写; 3. 如果文件一打开,用f.seek()指定文件指针位置,然后执行f.write()则从指针位置写(覆盖写); 4. 如文件打开后先执行了readline(), 然后再执行write(),实现的是附加写 文件a+ open: 1. 文件打开后起始指针为文件末尾,readline()将读不到数据 2. write()始终是附加写 ,即使将文件指针指到

python3的文件读写模式

任何一种语言,文件的读写都是非常常见的.python的文件读写非常简单,仅仅一个函数open(file也可以,但是我不常用). 先看看官网的解释: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) Open file and return a stream. Raise IOError upon failure. 常用打开模式: r 只能读

Lua读写文件

文件读写 文件读写对制作游戏很有帮助.可以调用别的文件中的代码,保存最高分.游戏存档.玩家状态等信写到文件中. 首先,让我们看一个简单的命令:dofile.这个命令会读入另一个文件的代码并立即执行. 代码: dofile("./test.lua") 很简单的命令.注意 ./ 是指根目录,不是子目录.如果是子目录,应该这样用: 代码: dofile("./files/test.lua") 那么,如果我们的文件 test.lua 包含下述代码: 代码: playerx

Linux 内核编程 or 内核模块编程的文件读写与信号传输问题

Linux内核编程时,内核代码执行只能直接访问内存上的数据,硬盘上的文件系统必须通过间接的方式才能被内核读写.一般内核操作文件读写的方式有三种:1.通过/proc/文件作为桥梁完成硬盘文件系统与内核的交互:2.通过ioctl方式实现交互:3.直接利用虚拟文件系统的函数vfs_read().vfs_write()读写文件.三种方式的具体实现方法网上有很多详细教程,可以参考.这里对三种方法做出比较. proc机制是一种很老的文件读写方式,通用性好,实现也算成熟,使用时需要自己实现内核上层的读写函数,

C/C++文件读写操作总结

本文主要从两方面介绍读写文件操作,一个是C,另一个是C++. 一.基于C的文件操作. 在ANSI C中对文件操作有两种方式,一种是流式文件操作,另一种是I/O文件操作.下面分别介绍. 1.流式文件操作. 流式文件操作有一个重要的结构FILE, FILE是在stdio.h中定义: typedef struct { int level; unsigned flags; char fd; unsigned char hold; int bsize; unsigned char _FAR *buffer

LinuxC——1.文件读写

LinuxC--1.文件读写 1.??文件IO 从CPU到文件是Output的一个过程,从文件到CPU是一个Input的过程,这个过程是以CPU为点的 2.??系统函数 open:打开文件 close:关闭文件 read:读数据 write:写数据 lseek:移动文件中读写位置 dup:文件书写位置重定位函数,重定位可以写入另一个文件 fcntl:文件描述符设置 ioctl:一个特殊函数 3.??文件读写的简单例子 open函数:通过fd,找到块设备文件 文件系统是一个程序代码,组织块设备所有