-2

我有一个和朋友一起写的项目,但我们遇到了线程问题。代码选择一个文件,对其进行加密或解密并将其写入一个文件(每个文件 pdf、docx、mpeg、mkv 等)。

选择,用 RandomAccessFile 打开一个输入和输出对象,

byte[] temp new byte[16];
readedByte=1;
while(16*readedByte<fileLenght){
                for(i=0;i<16;i++){
                temp[i]=input.readByte();
                }
                byte[] newTemp=AES.encrypt(temp, k.getBytes("ISO-8859-9"));
                output.write(newTemp);
                readedByte++;
            }

我想写一个线程来完成这项工作。线程将读取 16 个字节,加密它们并写入输出对象。

4

1 回答 1

0

只需将您的方法放在运行中。并尝试对其进行调整以解决您的问题

Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                byte[] temp = new byte[16];
                int readedByte = 1;
                while(16 * readedByte < fileLenght) {

                    for(int i = 0; i < 16; i++) {
                        temp[i] = input.readByte();
                    }
                    byte[] newTemp = AES.encrypt(temp, k.getBytes("ISO-8859-9"));
                    output.write(newTemp);
                    readedByte++;
                }

            }
        });
        thread.start();
于 2013-02-07T22:28:07.340 回答