我的任务是(有效地)通过一个非常大的,不断增长的文件逐行读取.这基本上就是我现在正在做的事情:
BufferedReader rd = //initialize BufferedReader
String line;
while(true){
while((line=rd.readLine())==null){
try{
Thread.sleep(1000);
}catch(InterruptedException e){
//handle exception
}
}
//process line
}
Run Code Online (Sandbox Code Playgroud)
所以我的BufferedReader只是挂在文件的末尾,直到有更多东西要读.这很好用,但是有一个问题 - 如果在写入文件的过程正在写一行的过程中调用readLine.然后第一次调用readLine将返回该行的第一部分,下一次调用将返回第二部分.但我真的需要这两个部分,我需要完整的线条.
更具体地说,当发生以下事件交错时,我的问题就出现了:
结果是每个readLine()获取写入过程输出的整行的一部分.它在执行此操作时表现得如此,因为每次调用它时,它都会到达文件的末尾,因此返回它已读取的内容.
基本上我需要的功能是BufferedReader,它先前返回null一个readLine; 一个在它之后有一个换行符之前不会给你一条线的东西,而不仅仅是它之后的EOF.因此,如果它找到EOF,它不返回到该点的行,它返回null,并在文件被写入后返回该行,并且在它之后有一个新行.
我可能通过更直接地处理FileReader并实质上重写BufferedReader来实现这样做的粗略方法,但我不知道如何有效地执行此操作.我的实现可能不会像真正的BufferedReader快,我想避免拖慢程序的时候,还有就是要读取的数据.
scala> class A(implicit a: Int);
defined class A
scala> class B()(implicit a: Int);
defined class B
scala> new A()(1)
res1: A = A@159d450
scala> new B()(1)
res2: B = B@171f735
scala> new A(1)
<console>:7: error: too many arguments for constructor A: ()(implicit a: Int)A
new A(1)
Run Code Online (Sandbox Code Playgroud)
为什么Scalac在类声明中提供的隐式参数列表之前插入一个空参数列表?
从scalac来源的评论来看,这似乎是一个特征,而不是一个错误:
//如果它是唯一的参数部分,则将(隐式...)转换为()(隐式...)
我很想知道为什么这样做.我觉得这很令人惊讶.
有一些非常讨厌的XML,我想使用JaxB解组到一个java对象.到目前为止,大部分内容似乎都很简单 - 但我有点坚持这个:
<assets>
<asset type="fixed">74,414</asset>
<asset type="current">1,022,069</asset>
<asset type="other">0</asset>
<total type="assets">1,096,483</total>
</assets>
Run Code Online (Sandbox Code Playgroud)
这是dtd的相关部分
<!ELEMENT assets (asset|total)*>
<!ELEMENT asset (#PCDATA)>
<!ATTLIST asset
type CDATA #REQUIRED>
<!ELEMENT total (#PCDATA)>
<!ATTLIST total
type CDATA #REQUIRED>
有任何想法吗?或者我应该放弃尝试使用JAXB吗?
谢谢
我有一个包含时间输入的表单(特别是开始和结束时间).当按下提交按钮时,它会进入一个php页面,将这些输入添加到数据库中.我想在允许表单提交之前检查一些事情.例如,我想确保开始时间早于(小于)结束时间.这是表格:
Opens:
<select name="starthour1">
<option value="00">12</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
</select> :
<select name="startminute1">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
<option value="59">59</option>
</select>
<select name="startwhen1">
<option value="am">am</option>
<option value="pm">pm</option>
</select>
Closes:
<select name="endhour1">
<option value="00">12</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
<option value="04">4</option>
<option value="05">5</option>
<option value="06">6</option>
<option value="07">7</option>
<option value="08">8</option>
<option value="09">9</option>
<option value="10">10</option>
<option value="11">11</option>
</select> :
<select …Run Code Online (Sandbox Code Playgroud) 维基页面http://wiki.apache.org/solr/DataImportHandler解释了如何使用DataImportHandler索引数据.但该示例使用命令启动导入操作.如何安排工作定期执行此操作?c
我使用此脚本使用jQuery解析XML文件,但只有在本地服务器中有XML文件时才会运行.您知道如何解析远程服务器上的XML文件吗?
<script>$(document).ready(function(){
$.ajax({
type: "GET",
url: "http://www.myotherwebsite.com/folder/myfile.xml",
dataType: "xml",
success: function(xml){
$(xml).find("user").each(function(){
var name = $(this).find("name").text();
var email = $(this).find("email").text();
var phone_number = $(this).find("mobile").text();
document.write("<b>Name</b>: "+name+"<br>");
document.write("<b>Email</b>: "+email+"<br>");
document.write("<b>Phone Number</b>: "+phone_number+"<br>");
})
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 嘿,这个问题非常普遍,但我想知道在Mobile Safari和Safari for Mac中Javascript的区别是什么.
我的印象是,从Javascript的角度来看,它们是相同的,只有CSS /渲染方面的一些差异.但我在Mobile Safari中遇到了许多Javascript错误,这些错误在Mac上的常规Safari中不存在.
基本上,对某些jQuery插件的一些调用返回了未定义的值(根据Mobile Safari中的开发人员调试器).
我遇到这些问题的网站有一个非常糟糕的前端,充满了验证错误,糟糕的JS和附加了大量的CSS.我毫不怀疑这个问题存在于这个代码的某个地方,我以前从未遇到过这样的问题.
我只是在解决这个问题时遇到了麻烦,所以任何关于Javascript引擎的一般差异的见解/链接都会非常感激.
您好我试着使用Twitter与OAuth,但我收到此例外
授权失败(服务器回复401).如果使用者密钥不正确或签名不匹配,则会发生这种情况.
即时通讯使用此示例 http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpost
错误行: String authUrl = provider.retrieveRequestToken(consumer,OAuth.OUT_OF_BAND);
我正在尝试编写UDF以将字符串或与该guid相关联的项目代码转换为guid:
CREATE FUNCTION fn_user_GetProjectID
(
@Project nvarchar(50)
)
RETURNS uniqueidentifier
AS
BEGIN
declare @ProjectID uniqueidentifier
BEGIN TRY
set @ProjectID = cast(@Project as uniqueidentifier)
END TRY
BEGIN CATCH
set @ProjectID = null
END CATCH
if(@ProjectID is null)
BEGIN
select @ProjectID = ProjectID from Project where projectcode = @Project
END
return @ProjectID
END
Run Code Online (Sandbox Code Playgroud)
如果上面的代码已嵌入到我的存储过程中,则可以正常工作,但是我想从中创建一个函数,以便我遵循DRY。
当我尝试创建函数时,出现如下错误:
Msg 443, Level 16, State 14, Procedure fn_user_GetProjectID, Line 16
Invalid use of side-effecting or time-dependent operator in 'BEGIN TRY' within a function.
Run Code Online (Sandbox Code Playgroud)
有谁知道我如何解决这个错误?
编辑:我知道我不能在函数中使用Try-Catch,我想这是一个简化的问题,有没有一种方法可以进行转换,如果转换失败,它只会返回NULL而不是错误?
我对可用性/设计有疑问.我目前正在使用一些JQuery隐藏/显示整个区域.目前这些都在一个大表中,最顶层的thead作为主标题,然后是第二个thead,它是将要显示的标题.接下来是另一个thead,它是隐藏在tbody中的任何隐藏的标题.我知道这是一种可怕的风格,但我想要解决的问题是我希望所有行都相同,因为它们都显示相同类型的数据.
代码示例是
<table id="report">
<thead>
<tr id="header">
<th>Country</th>
<th>Population</th>
<th>Area</th>
<th>Official languages</th>
<th></th>
</tr>
</thead>
<thead>
<tr>
<td>United States of America</td>
<td>306,939,000</td>
<td>9,826,630 km2</td>
<td>English</td>
<td><div class="arrow"></div></td>
</tr>
</thead>
<thead>
<tr>
<td>First Row</td>
<td>Second Row</td>
<td>Third Row</td>
<td>Fourth Row</td>
<td>Fifth Row</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5">
<img src="../125px-Flag_of_the_United_States.svg.png" alt="Flag of USA" />
<h4>Additional information</h4>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Usa">USA on Wikipedia</a></li>
<li><a href="http://nationalatlas.gov/">National Atlas of the United States</a></li>
<li><a href="http://www.nationalcenter.org/HistoricalDocuments.html">Historical Documents</a></li>
</ul>
</td>
</tr>
<tr><td>some other stuff</td></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
以下是将要显示的内容: alt …