问题列表 - 第30281页

使用BufferedReader从大型不断增长的文件中读取

我的任务是(有效地)通过一个非常大的,不断增长的文件逐行读取.这基本上就是我现在正在做的事情:

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将返回该行的第一部分,下一次调用将返回第二部分.但我真的需要这两个部分,我需要完整的线条.

更具体地说,当发生以下事件交错时,我的问题就出现了:

  1. 写入过程会写入大部分内容
  2. readLine()被调用
  3. 编写过程完成该行并添加换行符
  4. readLine()被调用

结果是每个readLine()获取写入过程输出的整行的一部分.它在执行此操作时表现得如此,因为每次调用它时,它都会到达文件的末尾,因此返回它已读取的内容.

基本上我需要的功能是BufferedReader,它先前返回null一个readLine; 一个在它之后有一个换行符之前不会给你一条线的东西,而不仅仅是它之后的EOF.因此,如果它找到EOF,它不返回到该点的行,它返回null,并在文件被写入后返回该行,并且在它之后有一个新行.

我可能通过更直接地处理FileReader并实质上重写BufferedReader来实现这样做的粗略方法,但我不知道如何有效地执行此操作.我的实现可能不会像真正的BufferedReader快,我想避免拖慢程序的时候,还有就是要读取的数据.

java file large-files bufferedreader

9
推荐指数
1
解决办法
4016
查看次数

为什么不能隐含类的第一个参数列表?

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来源评论来看,这似乎是一个特征,而不是一个错误:

//如果它是唯一的参数部分,则将(隐式...)转换为()(隐式...)

我很想知道为什么这样做.我觉得这很令人惊讶.

constructor scala implicit

18
推荐指数
2
解决办法
1257
查看次数

JAXB - 如何解组这个XML?

有一些非常讨厌的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吗?

谢谢

java xml jaxb

5
推荐指数
1
解决办法
1739
查看次数

在提交之前验证表单(比检查空字段更复杂)

我有一个包含时间输入的表单(特别是开始和结束时间).当按下提交按钮时,它会进入一个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)

javascript php forms validation

3
推荐指数
1
解决办法
2万
查看次数

如何在Solr中安排数据导入

维基页面http://wiki.apache.org/solr/DataImportHandler解释了如何使用DataImportHandler索引数据.但该示例使用命令启动导入操作.如何安排工作定期执行此操作?c

solr

14
推荐指数
3
解决办法
2万
查看次数

如何使用jQuery解析远程XML文件

我使用此脚本使用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)

xml jquery

3
推荐指数
1
解决办法
9258
查看次数

Mac上的Mobile Safari和Safari之间的Javascript差异?

嘿,这个问题非常普遍,但我想知道在Mobile Safari和Safari for Mac中Javascript的区别是什么.

我的印象是,从Javascript的角度来看,它们是相同的,只有CSS /渲染方面的一些差异.但我在Mobile Safari中遇到了许多Javascript错误,这些错误在Mac上的常规Safari中不存在.

基本上,对某些jQuery插件的一些调用返回了未定义的值(根据Mobile Safari中的开发人员调试器).

我遇到这些问题的网站有一个非常糟糕的前端,充满了验证错误,糟糕的JS和附加了大量的CSS.我毫不怀疑这个问题存在于这个代码的某个地方,我以前从未遇到过这样的问题.

我只是在解决这个问题时遇到了麻烦,所以任何关于Javascript引擎的一般差异的见解/链接都会非常感激.

javascript iphone safari webkit mobile-safari

9
推荐指数
1
解决办法
5079
查看次数

带有oauth-signpost错误的Android Twitter授权失败(服务器回复401)

您好我试着使用Twitter与OAuth,但我收到此例外

授权失败(服务器回复401).如果使用者密钥不正确或签名不匹配,则会发生这种情况.

即时通讯使用此示例 http://code.google.com/p/oauth-signpost/wiki/TwitterAndSignpost

错误行: String authUrl = provider.retrieveRequestToken(consumer,OAuth.OUT_OF_BAND);

twitter android oauth

4
推荐指数
1
解决办法
4694
查看次数

尝试捕获用户定义函数?

我正在尝试编写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而不是错误?

t-sql user-defined-functions

5
推荐指数
2
解决办法
2万
查看次数

多个thead/tbody设计

我对可用性/设计有疑问.我目前正在使用一些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 …

html jquery

13
推荐指数
1
解决办法
2万
查看次数