我必须在文件中搜索字符串并将匹配的行写入另一个文件。我有一个读取文件的线程和一个写入文件的线程。我想将stringBuffer从读取线程发送到写入线程。请帮助我通过。我会通过传递空值。
写线程:
class OutputThread extends Thread{
/****************** Writes the line with search string to the output file *************/
Thread runner1,runner;
File Out_File;
public OutputThread() {
}
public OutputThread(Thread runner,File Out_File) {
runner1 = new Thread(this,"writeThread"); // (1) Create a new thread.
this.Out_File=Out_File;
this.runner=runner;
runner1.start(); // (2) Start the thread.
}
public void run()
{
try{
BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(Out_File,true));
System.out.println("inside write");
synchronized(runner){
System.out.println("inside wait");
runner.wait();
}
System.out.println("outside wait");
// bufferedWriter.write(line.toString());
Buffer Buf = new Buffer();
bufferedWriter.write(Buf.buffers);
System.out.println(Buf.buffers);
bufferedWriter.flush();
}
catch(Exception …Run Code Online (Sandbox Code Playgroud) 即,你会建议我使用这样的控制器方法:
function save()
{
if(!is_bool($this->input->post('')))
{
$post_data = $this->input->post('');
$this->mymodel->save($post_data);
}
$this->load->view('myview');
}
Run Code Online (Sandbox Code Playgroud)
或者您会建议使用两种方法编写它吗?
function save()
{
if(!is_bool($this->input->post('')))
{
$post_data = $this->input->post('');
$this->mymodel->save($post_data);
}
redirect('controller/method2')
}
Run Code Online (Sandbox Code Playgroud)
重定向是这里的关键区别.例如,它禁止重新提交更新.
你怎么做呢?还有另一种更好的方法吗?
我正在使用带有c#的enterprize库5.0进行异常处理,并且我正在使用formatter.Now在我的日志文件中,Timestamp没有给出正确的时间.我可以在格式化程序中更改时间戳的值.
timestamp enterprise-library exception-handling exception enterprise-library-5
我想知道是否有一种方法可以从Shell脚本(用于构建过程)中"查询"Maven执行的状态.
关键是我希望在一个Shell脚本Maven执行中出现单个错误后,整个构建脚本就会失败.
例如
(0) mvn -f .../someDir clean
(1) mvn -f .../1/pom.xml install
(2) mvn -f .../2/pom.xml -PgenerateWadl
Run Code Online (Sandbox Code Playgroud)
因此,如果例如在(0)内发生错误,那么(1)和(2)必须不再执行,而是构建脚本应该在(0)之后直接退出并显示错误消息.
我对Shell脚本的了解不多,但我知道$?变量以获取先前执行的返回值.但是,由于Maven似乎只是将错误写入控制台,这可能不起作用,是吗?
我本来希望研究有关"$?"的更多信息,但谷歌很难获得它.
我有两个数据表,这些是完全动态的.这些将在运行时生成.现在我想通过查找公共列来加入这些表.
请查看以下代码以获取更多信息
public DataTable DataTableJoiner(DataTable dt1, DataTable dt2)
{
using (DataTable targetTable = dt1.Clone())
{
var dt2Query = dt2.Columns.OfType<DataColumn>().Select(dc =>
new DataColumn(dc.ColumnName, dc.DataType, dc.Expression, dc.ColumnMapping));
var dt2FilterQuery = from dc in dt2Query.AsEnumerable()
where targetTable.Columns.Contains(dc.ColumnName) == false
select dc;
targetTable.Columns.AddRange(dt2FilterQuery.ToArray());
var rowData=from row1 in dt1.AsEnumerable()
join row2 in dt2.AsEnumerable()
on row1.Field<int>("ID") equals row2.Field<int>("ID")
select row1.ItemArray.Concat(row2.ItemArray.Where(r2 => row1.ItemArray.Contains(r2) == false)).ToArray();
foreach (object[] values in rowData) targetTable.Rows.Add(values);
return targetTable;
}
}
Run Code Online (Sandbox Code Playgroud)
在上面我将硬编码"ID"作为公共列.我需要动态生成/识别公共列.请帮我.
我尝试在Blackberry 9550模拟器上实现简单的触摸事件处理,但它不起作用.实际上,touchEvent永远不会被调用,因为控制台中没有出现任何文本.此外,我在触摸屏幕时出现恼人的"全菜单".这是代码:
package mypackage;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.system.EventInjector.TouchEvent;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.VirtualKeyboard;
import net.rim.device.api.ui.container.MainScreen;
public class MyScreen extends MainScreen
{
public MyScreen()
{
super(NO_SYSTEM_MENU_ITEMS);
getScreen().getVirtualKeyboard().setVisibility(VirtualKeyboard.HIDE_FORCE);
add(new HandleTouch());
}
class HandleTouch extends Field {
protected void layout(int width, int height) {
setExtent(width, height);
}
public void paint(Graphics graphics) {
graphics.drawBitmap(0, 0, this.getWidth(), this.getHeight(), Bitmap.getBitmapResource("bg.png"), 0, 0);
}
public boolean isFocusable() { return true;}
protected boolean touchEvent(TouchEvent message) {
switch( message.getEvent() ) {
case TouchEvent.CLICK:
System.out.println("----------------------------->CLICK");
return true;
case TouchEvent.DOWN: …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring MVC.我有一个主页index.jsp
<a href="register.htm"> Register an Employee</a>
<input type="button" onclick="register.htm" value="REGISTER">
Run Code Online (Sandbox Code Playgroud)
当我点击链接时Register an Employee,流程进入了handleRequest但是当我点击提交按钮时没有发生任何事情.
我的handleRequest方法看起来像这样.
@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("register");
return mav;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
我有一个A大小为nRows x nCols 的矩阵.
我有一个nx2矩阵B,其中包含矩阵的索引A.我想获得A给出的指数的值B.
比方说,
B = [1, 2;
2, 3;
3, 4]
A(1,2) = 1
A(2,3) = 2
A(3,4) = 1
Run Code Online (Sandbox Code Playgroud)
我想知道任何给出以下的Matlab命令,给定A和B(我不想使用循环):
[1 2 1]
Run Code Online (Sandbox Code Playgroud) 如何根据 php.ini 值session.hash_function和session.hash_bits_per_character以及在启动会话之前计算 PHP 会话 ID 的长度。
我想session_id($customSessionId);在开始会话之前创建并分配自定义会话 ID,例如 , 。
在我的本地计算机中, 的值为session.hash_function0(MD5 的可能值为“0”,SHA-1 的值为“1”), 的值为session.hash_bits_per_character5(可能的值为“4”[0-9,af]、“5”[ 0-9, av] 和 '6' [0-9, az, AZ, "-", ","]),得到的会话 id 长度为 26。
session.hash_function当和session.hash_bits_per_character有另一组值(可以在启动会话之前计算)时,会话 id 的长度是多少?
我想通过分析默认会话设置来计算不同服务器(本地、临时或生产)上不同长度的会话 ID。
启动会话并计算会话 ID 非常简单。但我想编写如下代码:
// $length = {code to get length from hash_function and hash_bits_per_character}
// this is my custom function to generate new session id having length $length
$myCustomSessionId = generateCustomSessionId($length);
// assign my …Run Code Online (Sandbox Code Playgroud) 这是我的HTML
<div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的剧本
var list=document.getElementById("div2");
list.removeChild("div2""));
Run Code Online (Sandbox Code Playgroud)
当我点击按钮我需要删除子div(div2)如何做到这一点.使用此代码我面临问题请告诉.帮我 .我们有任何其他解决方案来解决这个问题