Articles of stream

Devo chamar Close () ou Dispose () para objects de stream?

Classes como Stream , StreamReader , StreamWriter etc implementam a interface IDisposable . Isso significa que podemos chamar o método Dispose() em objects dessas classs. Eles também definiram um método public chamado Close() . Agora isso me confunde, sobre o que devo chamar assim que terminar com objects? E se eu ligar para os dois? […]

Copie um stream para evitar que “o stream já tenha sido operado ou fechado”

Eu gostaria de duplicar um stream de Java 8 para que eu possa lidar com isso duas vezes. Eu posso collect como uma lista e obter novos streams a partir disso; // doSomething() returns a stream List thing = doSomething().collect(toList()); thing.stream()… // do stuff thing.stream()… // do other stuff Mas eu meio que acho que […]

Usando o Java 8’s Optional com Stream :: flatMap

A nova estrutura de stream do Java 8 e seus amigos criam alguns códigos Java muito concisos, mas eu me deparei com uma situação aparentemente simples que é complicada de se fazer de forma concisa. Considere uma List things e método Optional resolve(Thing thing) . Eu quero mapear as coisas para Optional obter o primeiro […]

Existe alguma maneira de fechar um StreamWriter sem fechar seu BaseStream?

Meu problema raiz é que ao using chamadas Dispose em um StreamWriter , ele também descarta o BaseStream (mesmo problema com Close ). Eu tenho uma solução alternativa para isso, mas como você pode ver, envolve a cópia do stream. Existe alguma maneira de fazer isso sem copiar o stream? O objective disso é obter […]

alterando o delimitador para cin (c ++)

Eu redirecionei “cin” para ler de um stream de arquivo cin.rdbug(inF.rdbug()) Quando uso o operador de extração, ele lê até atingir um caractere de espaço em branco. É possível usar outro delimitador? Eu passei pela API no cplusplus.com, mas não encontrei nada.

O fluidificador de descarte fecha o stream?

Estou enviando um stream para methods para escrever, e nesses methods eu estou usando um leitor / wrtier binário. Quando o leitor / escritor é descartado, seja using ou apenas quando não é referenciado, o stream é fechado também? Eu enviaria um BinaryReader / Writer, mas também estou usando um StreamReader (talvez eu deva contornar […]

Arquivos Buffer (para access mais rápido ao disco)

Eu estou trabalhando com arquivos grandes e escrevendo diretamente para o disco é lento. Como o arquivo é grande, não consigo carregá-lo em um TMemoryStream. O TFileStream não é armazenado em buffer, portanto, quero saber se existe uma biblioteca customizada que pode oferecer streams em buffer ou se devo confiar apenas no armazenamento em buffer […]

Por que filter () após flatMap () é “não completamente” preguiçoso em streams Java?

Eu tenho o seguinte código de exemplo: System.out.println( “Result: ” + Stream.of(1, 2, 3) .filter(i -> { System.out.println(i); return true; }) .findFirst() .get() ); System.out.println(“———–“); System.out.println( “Result: ” + Stream.of(1, 2, 3) .flatMap(i -> Stream.of(i – 1, i, i + 1)) .flatMap(i -> Stream.of(i – 1, i, i + 1)) .filter(i -> { System.out.println(i); return […]

Lista Java 8 no mapa

Eu quero traduzir uma lista de objects em um mapa usando os streams e lambdas do Java 8. É assim que eu escreveria no Java 7 e abaixo. private Map nameMap(List choices) { final Map hashMap = new HashMap(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; } Eu posso fazer […]

Maneira fácil de gravar o conteúdo de um Java InputStream em um OutputStream

Fiquei surpreso ao descobrir hoje que não consegui rastrear nenhuma maneira simples de escrever o conteúdo de um InputStream em um OutputStream em Java. Obviamente, o código do buffer de byte não é difícil de escrever, mas eu suspeito que estou perdendo algo que facilitaria a minha vida (e o código mais claro). Então, dado […]