我参加了面试,有人问我如何优化这样的伪代码。它在负荷下工作。它利用100%的CPU和100%的内存。经过一些讨论,有人提到这是因为GC。
public class MyString processor {
....
public String process(InputStream inputStream) {
String input = getString(inputStream);
int position = input.length() / 2;
return input.substring(0, position)
我想收到一些关于我要用Java解决的小问题的建议。
我有一个由以下格式组成的文件:
@
some text
some text
some text
@
some text
some text
some text
@
some text
some text
some text
...and等等。
我需要读取这个文本文件的下一个块,然后创建一个包含读取的块的InputStream对象,并将InputStream对象传递给解析器。我必须对文本文件中的每个块重复这些操作。每个块都写在以@开头的行间。问题是使用解析器解析@ tags之间的每个部分,解析器应该从InputStream读取每个块。
文本
我想用java运行一个名为VLC的程序。我通过运行时创建了它的进程。我不知道如何向这个进程传递命令。也可以通过命令行控制VLC程序。我想设置一个端口和IP地址到VLC程序监听流数据。java中的每个进程都有InputStream和OutputStream。
Runtime rt = Runtime.getRuntime();
Process p = rt.exec("C:\\Program Files\\VideoLAN\\VLC\\vlc.exe");
DataInputStream in = new DataInputStre
我正在处理旧代码,它为文件打开一个InputStream,我很好奇流是否被正确关闭。我们目前拥有的是一个方法,该方法返回一个由单独的方法调用的InputStream,该方法随后关闭它:
public void doThing(String path) throws Exception {
InputStream is = getStream(path);
try {
... // Do some stuff
} finally {
if(is != null)
is.close();
}
}
public In
我写了以下代码:
try {
URL url = new URL("http://bbc.com");
is = url.openStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
System.out.println(in.readLine());
//in.close(); with this next lines throw java.io.IOException: stream is closed
in = ne
UnZipFile方法将数据从inputStream写入outputWriter。为什么sr.ToString()返回System.Byte[]而不是数据?
using (var sr = new StringWriter())
{
UnZipFile(response.GetResponseStream(), sr);
var content = sr.ToString();
}
public static void UnZipFile(Stream inputStream, TextWriter outputWriter)
{
using (var zipStr