Java 文件夹中的XOR变换jpeg

Java 文件夹中的XOR变换jpeg,java,jpeg,xor,Java,Jpeg,Xor,这是我发现的一段代码,它查看文件夹中的文件,xor转换文件并输出它们。根据我的搜索,我相信这是java,但它没有运行,我得到的只是错误 final Path indir = Paths.get("C:\\Temp\\crin"); final Path outdir = Paths.get("C:\\Temp\\crout"); final List<Path> contents = new ArrayList<>(); Files.newDirectoryStream(

这是我发现的一段代码,它查看文件夹中的文件,xor转换文件并输出它们。根据我的搜索,我相信这是java,但它没有运行,我得到的只是错误

final Path indir = Paths.get("C:\\Temp\\crin");
final Path outdir = Paths.get("C:\\Temp\\crout");
final List<Path> contents = new ArrayList<>();
Files.newDirectoryStream(indir).forEach(contents::add);
for (final Path p : contents) {
    final byte[] arr = Files.readAllBytes(p);
    for (int i = 0; i < arr.length; i++)
        arr[i] ^= 0x42;
    Files.write(outdir.resolve(p.getFileName()), arr);
}

至少,您需要导入正在使用的类。您需要创建一个类,并且它需要包含一个main方法。大概

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class decode { // <-- by convention, should be Decode
    public static void main(String[] args) {
        final Path indir = Paths.get("C:\\Temp\\crin");
        final Path outdir = Paths.get("C:\\Temp\\crout");
        final List<Path> contents = new ArrayList<>();
        try {
            Files.newDirectoryStream(indir).forEach(contents::add);
            for (final Path p : contents) {
                final byte[] arr = Files.readAllBytes(p);
                for (int i = 0; i < arr.length; i++)
                    arr[i] ^= 0x42;
                Files.write(outdir.resolve(p.getFileName()), arr);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意:我还没有运行上面的代码,您需要将文件添加到C:\Temp\crin\以便代码读取它们。

此代码属于哪个类的哪个方法?感谢您的帮助,尝试了您的代码,但仍然出现错误。如有任何协助,将不胜感激
javac decode.java
decode.java:13: error: ')' expected
            Files.newDirectoryStream(indir).forEach(contents::add);
                                                            ^
decode.java:13: error: illegal start of expression
            Files.newDirectoryStream(indir).forEach(contents::add);
                                                             ^
decode.java:13: error: ';' expected
            Files.newDirectoryStream(indir).forEach(contents::add);
                                                                 ^
3 errors
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class decode { // <-- by convention, should be Decode
    public static void main(String[] args) {
        final Path indir = Paths.get("C:\\Temp\\crin");
        final Path outdir = Paths.get("C:\\Temp\\crout");
        final List<Path> contents = new ArrayList<>();
        try {
            Files.newDirectoryStream(indir).forEach(contents::add);
            for (final Path p : contents) {
                final byte[] arr = Files.readAllBytes(p);
                for (int i = 0; i < arr.length; i++)
                    arr[i] ^= 0x42;
                Files.write(outdir.resolve(p.getFileName()), arr);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}