由于POI具有更多功能,我从jxl切换到poi.但是,我无法处理以旧格式生成的xls文件.现在我收到此错误:
org.apache.poi.hssf.OldExcelFormatException:提供的电子表格似乎是Excel 5.0/7.0(BIFF5)格式.POI仅支持BIFF8格式(来自Excel版本97/2000/XP/2003)
现在我想将JXL和POI一起使用取决于xls版本,因此对于旧格式xls文件我将使用jxl而对于较新版本我将使用POI.这是一个好的解决方案吗?还有其他选择吗?
这是我的代码:
#!/bin/sh
filename=$(/usr/bin/find -name "INSTANCE-*.log")
echo "filename is " $filename
awk '
BEGIN
{
print "Processing file: " filename
}
{
if($0 ~ /Starting/)
{
print "The bill import has been Started on "$1 " " $2
}
}' $filename > report.txt
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我收到以下错误:
BEGIN块必须有一个动作部分
我的BEGIN块有一个print声明,所以它有一个动作部分.我在这里错过了什么?
我正在使用在org-netbeans-lib-cvsclient.jar与CVS通信的java类中执行各种cvs命令.我能够执行cvs checkout命令,添加,提交等.
但是,我需要找出哪个命令等同于cvs ls -R命令.
这是我编写的代码,允许执行cvs检查:
CheckoutCommand command = new CheckoutCommand();
command.setBuilder(null);
command.setRecursive(true);
command.setModule(module);
if(revision!=null)
{
command.setCheckoutByRevision(revision);
}
command.setPruneDirectories(true);
command.setUseHeadIfNotFound(true);
executeCommand(command, AnonymizerConstants.DEFAULT_LOCAL_PATH);
Run Code Online (Sandbox Code Playgroud)
我需要为CVS ls -R或CVS rls做类似的事情
我有一个巨大的oracle数据库的转储,所以不可能全部导入它.我想导入一个名为X的特定表.问题是X有外键.如果我只导入X,我将收到以下错误:
imp user/pass@dbName tables=X rows=y ignore=Y
ORA-02291: integrity constraint violated - parent key not found
Run Code Online (Sandbox Code Playgroud)
我已经在本地拥有整个数据库(但没有数据),我想导入与X关联的所有表.我怎样才能实现这一点?我安装了plsql.我还需要知道这些表的顺序,以便首先知道要导入哪些表.
假设我有以下字符串:RückrufinsAusland我需要将其插入到最大大小为10的数据库中.我在java中执行了一个正常的子字符串,它提取了这个字符串Rückruf,其中包含10个字符.当它试图插入此列时,我得到以下oracle错误:
java.sql.SQLException:ORA-12899:值太大而不能列"WAEL"."TESTTBL"."DESC"(实际:11,最大值:10)原因是数据库有一个AL32UTF8字符集,因此ü将采取2个字符.
我需要在java中编写一个执行此子字符串的函数,但考虑到ü需要2个字节,因此在这种情况下返回的子字符串应该是Rückrufi(9个字符).有什么建议?
我在两台机器上执行了相同的cvs命令,它只在其中一台机器上运行.命令是:
cvs -d %CVSROOT% ls "module"
Run Code Online (Sandbox Code Playgroud)
*在第一台机器中,它直接返回模块下的文件.*我添加了-R参数以使调用递归,这次我收到错误:
cvs [ls aborted]:远程服务器不支持rls.请求的选项不可用.
在第二台机器中我甚至在没有添加-R命令的情况下直接出错:cvs [ls aborted]:服务器不支持ls
两台机器都连接到相同的服务器和相同的模块以及相同的CVS根和相同的CVSNT版本.
我有一个包含输入的 mat-form-field 和一个包含 mat-option 的 mat-autocomplete。输入有 (blur) 事件,而 mat-option 有 (onSelectionChange) 事件。
我遇到的问题是,当我选择一个项目时,会在 mat-option 的 onSelectionChange 事件之前调用模糊。如果下拉列表中不存在该值,则模糊事件的方法会清空输入。如果我删除输入的 (blur) 事件,则 (onSelectionChange) 被调用。我需要在(模糊)事件之前调用它。
经过一些研究,我发现我可以在 (blur) 的函数中使用 .setTimeOut ,它允许在 (onSelectionChange) 的函数之后调用它的主体,但是,通过此修复,远离输入将延迟清空输入如果它有一个错误的值。
这是我拥有的 html 代码:
<mat-form-field [style.width.%]="fieldWidthPercentage">
<input matInput #tagsInput (blur)="checkIfMatch()">
<mat-autocomplete #auto="matAutocomplete">
<mat-option *ngFor="let item of filteredAutoCompleteItems | async"
(onSelectionChange)="selected(item)" [value]="item">
{{ item.name }}
</mat-option>
</mat-autocomplete>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
这是(模糊)事件的函数:
checkIfMatch() {
setTimeout(() => {
// . . .
}, 1000);
}
}
Run Code Online (Sandbox Code Playgroud) 如果我有一个包含以下内容的字符串:这是1测试123-456-7890
我需要提取1234567890作为电话号码.我不想提取测试前的数字1.
如何在java中使用正则表达式?
我知道一种方法,但我不确定它是否是最好的解决方案:
String inputString = "This is 1 test 123-456-7890";
string result = inputString.replaceAll("(\\d{3})-(\\d{3})-(\\d{4})","");
String phoneNumber = inputString.replace(result, "");
Run Code Online (Sandbox Code Playgroud) 我写了一个hashmap并用键/值条目填充它.值是对象.该地图包含至少1万个条目.稍后,当我想使用某个键获取值时,地图似乎找不到此条目.这太奇怪了.即使每次在不同的条目下失败也是如此.我该怎么做才能解决这个问题?我使用weblogic作为服务器.我应该玩任何环境价值吗?
我正在尝试从 oracle 转储导入特定表,为了避免任何父键未找到异常,我想按照一定的顺序导入表。例如,如果表 X 依赖于表 A 和 B,我想首先导入 A 和 B:
imp user/pass@dbName tables=(A,B,X) rows=y ignore=Y
Run Code Online (Sandbox Code Playgroud)
该命令能否保证 A 和 B 在 X 之前导入?
我想使用一个java集合(列表,映射等)来缓存一些数据,这样我就可以使用这个缓存而不是直接检查数据库.我唯一担心的是集合大小,我希望这个缓存保存,假设只有1000个条目,一旦达到此计数,我想删除最旧的条目并添加一个新条目.这可能吗?
我正在使用Java Swing编写GUI应用程序.我只有一个问题,就是我编写了一个在单击按钮时执行的大功能.首先,我将标签的值设置为"生成报告...",然后在函数的"返回"部分之前,我设置标签"完成生成报告"的值.实际发生的是标签的第一个设置没有生效.它们在我完成函数调用后生效,因此最终结果只显示"完成生成报告".
这是我正在使用的java代码:
protected void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
// TODO add your handling code here:
try
{
jLabel6.setText("Generating Report");
jProgressBar1.setVisible(true);
generateReport(BillImportId.getText()); // This will take around 30 seconds to finish
}
catch (Exception e)
{
System.out.println("Exception occured: " + e);
}
}//GEN-LAST:event_jButton2ActionPerformed
Run Code Online (Sandbox Code Playgroud) 我的问题与如何"如何等待观察完成"不一样.我已经使用switchMap在我的代码中解决了这个问题.目前我有一个api get调用,在执行httpget之前,它将检查refreshToken是否已过期,在这种情况下,它将生成一个新令牌并等待它,然后执行httpget,这很棒.
我的问题是,如果我有以下senario:
this.getUsers();
this.getLocations();
Run Code Online (Sandbox Code Playgroud)
让我们来看一下令牌需要刷新的情况(我们需要等待刷新):首先我们调用this.getUsers()这将触发创建一个新令牌,并且在创建令牌后将获得get用户.同时我们也调用this.getLocations(),它也会触发创建一个新的令牌,并且不会在第一次完成时等待.我需要找到一种方法,以便第二次获得等待第一次完成,以便两者将使用相同的新令牌.