Algoritmo de ordenação em JAVA

Boa noite, estou tentando dificuldade com esse exercício de lógica. será que alguém consegue me dar uma luz?

Segue o código…

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

import java.util.InputMismatchException;

import java.util.Scanner;

public class Ordenacao {

public static void main(final String[] parametros, final BufferedReader buffer) {

//O programa deverá receber uma lista de valores de um arquivo de texto, 

//onde esta lista não terá uma determinação de quantidade fixa, 

//podendo variar de arquivo para arquivo. 

//Após, deverá ser alocado os valores dentro da estrutura de Array 

//(não poderão ser aplicadas Collections para solução), 

//e realizada a ordenção dos valores, imprimindo em tela os passos ocorridos desta ordenação. 

//Após, deverá ser utilizado uma Collection para o recebimento dos mesmos valores, 

//de maneira que estes valores já estejam ordenados. 

//Ao final, deverá ser impresso em tela o valor ordenado do Array e da Collection, 

//garantindo que estejam iguais, e deverá ser exportado em um arquivo de texto esses valores.

//lendo o arquivo desordenado

    try {

        final BufferedReader buffer = new BufferedReader(new FileReader("ordenacao.txt"));

//salvando o arquivo em um array

        String desordenado = new String[desordenado];

//ordenando o array com BUBBLE SORT

    while (desordenado == 1)

    {

        i = 0;

        desordenado = extracted();        

        for (int i = 0; i <= 3; i++)

        {

            final int[] numero;

            if (int numero[i] <= numero[i + 1])

            {

                desordenado = 1;

                final int aux = numero[i];

                numero[i] = numero[i + 1];

                numero[i + 1] = aux;

            }

        }

    }

    } catch (final IOException exception) {

        System.out.println(exception.getMessage());

    }

//salvando o  array ordenado no novo arquivo

    try {

        final BufferedWriter buffer = new BufferedWriter(new FileWriter("ordenacao1.txt"));

        final int ordenado = "";

//imprimindo o novo arquivo ordenado

        synchronized (System.out) {

            System.out.print(ordenado);

            System.out.newLine();

        }

        }

        buffer.close();

    }

private static int extracted() {

    int desordenado;

    desordenado = i;

    return desordenado;

} catch (IOException exception

    private static int i;) {

        System.out.println(exception.getMessage());

    }

}

}

Seu código está cheio de erros de sintaxe.
Você copiou de alguém?