FILE:
hello
world
foo
bar
Run Code Online (Sandbox Code Playgroud)
如何删除此中所有空的新行FILE?
输出命令:
FILE:
hello
world
foo
bar
Run Code Online (Sandbox Code Playgroud) 我有一个主线程启动10个其他线程.我希望只有在所有其他线程停止后才能完成主线程.所以我应该在开始之前或之后调用其他10个线程上的join().例如:
// in the main() method of Main thread
Thread [] threads = new Thread[10];
for(int i = 0; i < 10; i++) {
// ParserThread() is a runnable thread
threads[i] = new Thread(new ParserThread());
threads[i].join();
threads[i].start();
}
System.out.println("All threads have been finished"); // line no. 9
Run Code Online (Sandbox Code Playgroud)
我试图replaceAll在Java中为该方法创建一个正则表达式.测试字符串是abXYabcXYZ,模式是abc.我想替换除了模式之外的任何符号+.例如,字符串abXYabcXYZ和模式[^(abc)]应该返回++++abc+++,但在我的情况下它返回ab++abc+++.
public static String plusOut(String str, String pattern) {
pattern= "[^("+pattern+")]" + "".toLowerCase();
return str.toLowerCase().replaceAll(pattern, "+");
}
public static void main(String[] args) {
String text = "abXYabcXYZ";
String pattern = "abc";
System.out.println(plusOut(text, pattern));
}
Run Code Online (Sandbox Code Playgroud)
当我尝试更换模式时+没有问题 - abXYabcXYZ模式(abc)返回abxy+xyz.Pattern (^(abc))返回字符串而不替换.
还有其他方法可以将NOT(正则表达式)或组符号写成单词吗?
我用GUI创建了一个java程序,我想要一个停止按钮功能,当用户点击停止按钮时,必须停止程序.
在我的程序中,主线程启动其他10个线程,我希望每当单击停止按钮时,必须在主线程之前停止所有10个线程.
其次,我还希望每当这10个线程中的任何线程被停止时,它必须首先关闭它之前打开的所有资源,比如连接到数据库等.
我已经实现了代码........
现在有一个问题.
我的线程类是这样的:
public class ParserThread implements Runnable {
private volatile boolean stopped = false;
public void stopTheThread() {
stopped = true;
}
:
:
}
Run Code Online (Sandbox Code Playgroud)
以下是从函数start()启动10个线程的主线程
public class Main() {
Thread [] threads;
public void start() {
for(int i = 0; i < 10; i++) {
threads[i] = new Thread(new ParserThread());
}
}
public void stop() {
// code to stop all the threads
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想调用ParserThread的stop方法来设置"stopped = true"来停止线程.我想要为所有10个线程完成这件事.
我该如何调用stop方法.我希望它在Main类的stopAllThreads()方法中完成.
如果Dispatcher挂起(Dispatcher.DisableProcessing()调用),则尝试显示消息框时会引发异常.
InvalidOperationException:'Dispatcher processing has a suspended'(参见此处).
有谁知道我怎么能检测到Dispatcher暂停的地方(所以我知道什么时候打电话BeginInvoke())?
编辑1:
为了响应Application.DispatcherUnhandledException事件,我试图显示一个MessageBox.但是,如果在DataBinding(即ItemsControl.ItemsSource)期间抛出此未处理的异常,Dispatcher则会暂停.试图显示MessageBox然后失败.总是使用Dispatcher.BeginInvoke()解决问题,但我不想这样做,除非真的有必要.
编辑2:
使用Reflection完成此操作的方式如下:
var dispatcherType = typeof(Dispatcher);
var countField = dispatcherType.GetField("_disableProcessingCount", BindingFlags.Instance | BindingFlags.NonPublic);
var count = (int)countField.GetValue(Dispatcher.CurrentDispatcher);
var suspended = count > 0;
Run Code Online (Sandbox Code Playgroud) 我经常发现自己有一种Option[T]类型,T并希望测试选项的价值对某些价值.例如:
val opt = Some("oxbow")
if (opt.isDefined && opt.get == "lakes")
//do something
Run Code Online (Sandbox Code Playgroud)
以下代码是等效的,并删除了测试选项值是否存在的要求
if (opt.map(_ == "lakes").getOrElse(false))
//do something
Run Code Online (Sandbox Code Playgroud)
然而,这对我来说似乎不太可读.其他可能性是:
if (opt.filter(_ == "lakes").isDefined)
if (opt.find(_ == "lakes").isDefined) //uses implicit conversion to Iterable
Run Code Online (Sandbox Code Playgroud)
但我不认为这些明确表达的意图要么更好,因为:
if (opt.isDefinedAnd(_ == "lakes"))
Run Code Online (Sandbox Code Playgroud)
有没有人有更好的方法来做这个测试?
有人可以解释什么是strophe?
我相信它与XMPP有关?
如何使用Jquery将其合并到网站中?
我正在尝试使用Jquery Splitter http://www.methvin.com/jquery/splitter/
如果拆分器窗格是静态的,但我需要在其中动态添加窗格,它可以正常工作.此外,我还需要动态删除这些窗格.如何删除拆分器绑定并在其中添加动态拆分区域?
请从这里查看http://01webdesigner.com/Inam/SplitterTest.htm
重新调整大小仅适用于上一个动态添加的区域.
请帮忙