Sequência do clone objeto, janela de ficheiros, com o avanço do fluxo de entrada e bloqueios de arquivo

sequência do clone I. do objecto

1. Qual é a sequência do clone alvo?
Às vezes você quer opor uma "cópia", de modo que as variações réplica do objeto original não causa mudanças físicas, e vice-versa. Chamamos esta réplica é um clone do objeto original (conhecido como clonagem).

2. Como conseguir?
A clonagem utilizando um fluxo de objectos facilmente adquirir uma sequência de objectos, apenas o ponto de destino objeto de fluxo de saída, e o destino como um fluxo de entrada de objecto fonte, em seguida, o fluxo de entrada de objecto lida para trás a partir do objecto de origem deve é um clone do objeto original. Resumidamente:
é o objecto do fluxo de entrada actual para obter um objecto de informação sobre a sequência do clone por objeto.

Quando o programa quer obter um mais rápidos objetos clone taxa, a informação pode fluir seqüência com o objeto de destino está escrito na memória.

II. Diálogo Arquivo

1. Qual é o diálogo de arquivo?
Arquivo é uma interface de caixa de diálogo de seleção de arquivos.

2. Como usar?
Podemos criar um diálogo de arquivo usando JFileChooser pacote de classe javax.swing.

Os passos que se seguem:
(1) utilizando o construtor de classe JFileChooser (); invisíveis para criar o diálogo modal inicial.
(2) em seguida, chamar qualquer um dos dois métodos seguintes para realizar uma caixas de diálogo:

showSavaDialog (um componente);

showOpenDialog (um componente);

O ex-fornecidos Salvar a interface de arquivo, que fornece arquivo de interface aberta. Parâmetro especifica a posição da caixa de diálogo é visível.
(A é nulo, que seja exibido diálogo arquivo no centro da tela, se um componente não está vazia, o diálogo de arquivo é centrado directamente em frente do conjunto de a)

3. Operação Geral
"OK" em (1) o usuário clica no diálogo de arquivo, "Cancelar" ou "off" ícone, o diálogo de arquivo desaparecerá.
showSavaDilog (); ou showOpenDialog (); método retorna uma das seguintes constantes:
JFileChooser.APPROVE_OPTION
JFileChooser.CANCEL_OPTION.

(2) Se os tipos de arquivo que você deseja que o diálogo de arquivo que os usuários precisam, você pode usar essa classe:
FileNameExtensionFilter primeiro criar um objeto:
filtro FileNameExtensionFilter = new new FileNameExtensionFilter ( "arquivo de imagem", "jpg", "gif
"); em seguida, deixar o arquivo chamada de diálogo
setFileFilter (filtro FileNameExtensionFilter);
método para definir a caixa de diálogo padrão aberto para exibir ou tipo de arquivo como um parâmetro para o tipo especificado:
Chooser.setFileFilter (filtro);

3. Digite o fluxo com uma barra de progresso

Se o arquivo desejado é lido para ver o progresso, pode usar o fluxo de entrada aulas ProgressMonitorInputStream pacote javax.swing fornece
seu construtor é:
ProgressMonitorInputStream a (o c Component, String S, o InputStream);
componente front especificado no parâmetro de visualização da barra de progresso c Se c é nulo, exposição na frente da tela.

IV. Fechaduras arquivo

No caso de aplicações práticas, muitas vezes, haverá vários programas que trabalham no mesmo arquivo ocorre, como ao mesmo tempo atualização ou ler o arquivo. Em causa geral de conflito, mas java fornece capacidades de bloqueio de arquivo que podem ajudar a resolver este problema.

1.FileLock e as classes respectivamente FileChannel java.nio e java.nio.channels pacote. Entrada pode ser usado para ler e arquivo de gravação bloqueia o fluxo de saída de arquivo, as seguintes classes serão descritas em conjunto com RandomAccessFile bloqueios de ficheiros uso.

RandomAccessFile pode ser usado para criar um arquivo de fluxo de bloqueios ao ler e gravar arquivos. Ele não liberar o bloqueio, outros programas não podem operar arquivos bloqueados.

Para usar os bloqueios de arquivos da seguinte forma:

RandomAccessFile fluxo de configuração utilizando primeiro objeto de fluxo para o arquivo, read-write propriedade do objeto deve ser RW , por exemplo:

RandomAccessFile input=new RandomAccessFile("Example.java","rw");

O método, então, chama o fluxo de entrada getChannel (); FileChannel obtido objecto (canal) é ligada ao fundo de um arquivo , por exemplo:

FileChannel channel = input.getChannel();

TryLock canal de chamada (); ou de bloqueio (); um método de obtenção do FileLock (bloqueio de arquivo) objetos, este processo é referido como bloqueio de ficheiros.
Por exemplo:

FileLock lock = channel.tryLock();

Depois que o objeto de bloqueio arquivo produzido, ele vai proibir qualquer programa para qualquer operação.
Após o bloqueio de arquivo em diante, se você quiser ler e arquivos de gravação deve deixar FileLock chamadas de objetos release (); libertar o bloqueio de arquivo . Por exemplo:

lock.release();
Publicado 35 artigos originais · ganhou elogios 0 · Vistas 1286

Acho que você gosta

Origin blog.csdn.net/c1776167012/article/details/104194390
Recomendado
Clasificación