小编jkh*_*ler的帖子

PHP中ArrayIterator,ArrayObject和Array之间的区别

有人可以解释清楚的根本差异ArrayIterator,ArrayObject以及在阵列中的PHP的功能和操作方面?谢谢!

php arrays arrayiterator arrayobject

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

用Java解析固定宽度文本日志的策略

我试图弄清楚如何最好地解析以下日志文​​件,拆分由水平线分隔的每个部分并提取各种数据,例如'COMPANY123','BIMMU',日期(2/18等)和然后创建一个字符串,其中包含由水平线分隔的部分中包含的所有其他数据.

即,我想创建一个'statement'对象数组,每个对象具有以下属性:

Company name, Account, Date, Data.
Run Code Online (Sandbox Code Playgroud)

例如,下面的第二条记录,

Account = 'BIMMU'
Firm = 'Super Corporation'
Date= 9/14/11
Data = '* * * * * * * * TODAYS ACCOUNT ACTIVITY * * * * * * * * * * *
        9/14/11 Y9 CALL OESX OCT 11 ........ etc'
Run Code Online (Sandbox Code Playgroud)

日志是固定宽度的文本文件,变量(日期等)总是出现在行中的相同位置,例如 sSalesCode = line.substring(142, 147);

我是否可以在两次传递中执行此操作,例如将代码拆分为由水平线分隔的部分,然后单独解析这些部分?

在这里写这篇文章有助于我深入思考,但如果其他人有任何聪明的想法,那么听到它们会很棒.


------------------------------------------------------------------------------------------------------------------------------------F   BIASPBIMMU
BIMMU    BIASP-COMPANY123 KG              (Z )  9/14/11  EU (T-  I- )                      MT-0                              F   BIASP²BIMMU
CALLS     2/18  YI              50.00-X (49)                                                                                        F   BIASP²BIMMU
------------------------------------------------------------------------------------------------------------------------------------F   BIASPBIMMU …
Run Code Online (Sandbox Code Playgroud)

java regex logging parsing

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

如何解决"java.lang.OutOfMemoryError:Java堆空间"?

我正在编写一些代码来将非常大的平面文本文件解析为持久保存到数据库的对象.这正在处理文件的各个部分(即如果我'排在前2000行),但是java.lang.OutOfMemoryError: Java heap space当我尝试处理完整文件时遇到错误.

我使用BufferedReader逐行读取文件,我的印象是这否定了将整个文本文件加载到内存中的要求.希望我的代码是相当不言自明的.我已经通过Eclipse Memory Analyzer运行我的代码,它通知我:

线程java.lang.Thread @ 0x27ee0478 main保留局部变量,总大小为69,668,888(98.76%)字节.
内存在"<system class loader>"加载的"char []"的一个实例中累积**

非常感谢有用的评论!

乔纳森

public ArrayList<Statement> parseGMIFile(String filePath)
            throws IOException {

        ArrayList<Statement> statements = new ArrayList<Statement>();

        // Statement Properties
        String sAccount = "";
        String sOffice = "";
        String sFirm = "";
        String sDate1 = "";
        String sDate2 = "";
        Date date = new Date();
        StringBuffer sData = new StringBuffer();
        BufferedReader in = new BufferedReader(new FileReader(filePath));
        String line;
        String prevCode = "";
        int lineCounter = 1; …
Run Code Online (Sandbox Code Playgroud)

java parsing out-of-memory

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