Java - Erro: “non-static method copy (Flie, File) cannot be referenced from a static context”

Olá, esse é o código:

    package exercicio2;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.Scanner;

    public class Exercicio2 {
        public static void main(String[] args) throws IOException {
            Scanner entrada = new Scanner(System.in);
            Scanner ler = new Scanner(System.in);
            String nomeOrigem, nomeDestino;

            String source = "C:\\Users\\Oi\\OneDrive\\Documents\\a1";
            String destination = "C:\\Users\\Oi\\OneDrive\\Documents\\a2";        
            
            File src = new File(source);
            File dst = new File(destination); 
            copy(src, dst);
        }   

    // Copia arquivo desejado, para o arquivo de destino
    // Se o arquivo de destino não existir, ele será criado
    void copy(File src, File dst) throws IOException {
        InputStream in = new FileInputStream(src);
        OutputStream out = new FileOutputStream(dst);  // Transferindo bytes de entrada para saída
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }
    }

Mas aparece o erro: “non-static method abrirConexao() cannot be referenced from a static context”. Podem me ajudar?

Seu método copy não é estático. Ou você torna ele estático, ou cria uma instância da classe Exercicio2 e usa para chamar esse método.

Abraço.

Como torná-lo estático?

static void copy(File src, File dst) throws IOException {