Java.nio Problemas com FileChannel

1 resposta
S
CharsetDecoder decoder = Charset.forName("ISO-8859-1").newDecoder();
        FileChannel channel = new FileInputStream(pluginListFileName).getChannel();
        ByteBuffer buffer = ByteBuffer.allocateDirect(1);
        String pluginName;
        StringBuffer stringBuffer = new StringBuffer();
        CharBuffer charBuffer;
        
        loadedPlugins.clear();
        
        try {
            while (channel.read(buffer) != -1) {
                buffer.flip();
                
                charBuffer = decoder.decode(buffer);
                
                if (charBuffer.toString() != "\n") {
                    stringBuffer.append(charBuffer.toString());
                    System.out.println("Appending...");
                } else {
                    pluginName = stringBuffer.toString();
                    System.out.println("Creating...");
                }
            }
        } finally {
            channel.close();
        }

Opa, quando eu executo channel.read(buffer) sempre me retorna 0! Porquê isso? Algum problema com o arquivo? Ah e essa minha solução para ler uma linha do arquivo é eficiente? (claro que seria separada em funções, esse é apenas um protótipo para fins de benchmarking).

Muito Obrigado.

1 Resposta

S

Up!!!

Criado 29 de junho de 2007
Ultima resposta 2 de jul. de 2007
Respostas 1
Participantes 1