Кроме анонимного класса (new OutputStream() { ... }
), может любой предлагать моральный эквивалент new FileOutputStream("/dev/null")
это также работает над Windows?
В случае, если чье-то удивление, 'для чего это?'
У меня есть программа, которая делает анализ последовательности файла. У этого есть 'многословный' выбор. Когда многословный выбор идет, я хочу видеть большую продукцию. Программа не спешит, это - инструмент, таким образом, вместо того, чтобы писать все дополнительные if
заявления тесту, если я хочу продукцию, я просто, хотят написать это битоприемнику, когда они не желаемы.
Вы можете использовать NullOutputStream из apache Commons. https://commons.apache.org/proper/commons-io/javadocs/api-2.4/org/apache/commons/io/output/NullOutputStream.html
Или просто реализуйте свой собственный
package mypackage;
import java.io.OutputStream;
import java.io.IOException;
public class NullOutputStream extends OutputStream {
public void write(int i) throws IOException {
//do nothing
}
}
Сделать многопоточный сервер удивительно просто. Ознакомьтесь с этим примером.
class Server
{
private Socket socket;
private List<Socket> connections;
private volatile Boolean endAccept;
// glossing over some code.
/// <summary></summary>
public void Accept()
{
EventHandler<SocketAsyncEventArgs> completed = null;
SocketAsyncEventArgs args = null;
completed = new EventHandler<SocketAsyncEventArgs>((s, e) =>
{
if (e.SocketError != SocketError.Success)
{
// handle
}
else
{
connections.Add(e.AcceptSocket);
ThreadPool.QueueUserWorkItem(AcceptNewClient, e.AcceptSocket);
}
e.AcceptSocket = null;
if (endAccept)
{
args.Dispose();
}
else if (!socket.AcceptAsync(args))
{
completed(socket, args);
}
});
args = new SocketAsyncEventArgs();
args.Completed += completed;
if (!socket.AcceptAsync(args))
{
completed(socket, args);
}
}
public void AcceptNewClient(Object state)
{
var socket = (Socket)state;
// proccess
}
}
-121--3909846- Я бы попытался передать требуемую информацию в качестве флэшвара. Не лучшее решение из коробки, которое я знаю, но оно сработает.
-121--2948940- NUL
работает для Windows NT, но не работает в * NIX.
output = new FileOutputStream("NUL");
Для обеспечения независимости платформы лучше использовать функцию «» StartOutputStream «»
в IO Commons .