我必须将文本文件读入2d数组.
我唯一的问题是,数组的宽度是变化的,最大大小为9列.我不知道会有多少行.
例如,有些行有6列,有些行有9列.
这是我的CSV文件的一小部分:
1908,Souths,Easts,Souths,Cumberland,Y,14,12,4000
1909,Souths,Balmain,Souths,Wests,N
1910,Newtown,Souths,Newtown,Wests,Y,4,4,14000
1911,Easts,Glebe,Glebe,Balmain,Y,11,8,20000
1912,Easts,Glebe,Easts,Wests,N
1913,Easts,Newtown,Easts,Wests,N
Run Code Online (Sandbox Code Playgroud)
到目前为止,这是我的代码
import java.io.*;
import java.util.*;
public class ass2 {
public static void main(String[] args) throws IOException {
readData();
}
public static void readData() throws IOException{
BufferedReader dataBR = new BufferedReader(new FileReader(new File("nrldata.txt")));
String line = "";
ArrayList<String[]> dataArr = new ArrayList<String[]>(); //An ArrayList is used because I don't know how many records are in the file.
while ((line = dataBR.readLine()) != null) { // Read a single line from the …Run Code Online (Sandbox Code Playgroud) 我用普通的编程JDBC一个DAO层,因为我只有 61.38 MB对Java内存在我的Tomcat(服务主机).我AUTO_INCREMENT在MySQL中有一个包含列的表.目前的实施没有问题.但我想知道AUTO_INCREMENT列中生成的值.
当前代码在插入新行的方法中如下所示.
public Integer store(MyBean bean) throws DAOException {
Connection conn = null;
PreparedStatement ps = null;
try {
conn = getConnection();
ps = conn.prepareStatement("INSERT ...");
if (bean.getSomeProperty() != null) {
ps.setShort(1, bean.getSomeProperty());
} else {
ps.setNull(1, Types.SMALLINT);
}
/* Other fields */
int rows = ps.executeUpdate();
if (rows == 1) {
// RETURN the generated value
}
return null;
} catch (SQLException e) { …Run Code Online (Sandbox Code Playgroud) 任何人都可以建议我创建JMS消息传递的分步示例,我正在使用Weblogic和eclipse.我是JMS的新手.我能够创建weblogic队列.但是我们如何在eclipse中配置并在weblogic上部署应用程序.eclipse中有sender和reciver类.
但有人可以解释我所有的seteps.
如何获取之后保存到数据库的值
entityManager.persist
Run Code Online (Sandbox Code Playgroud)
在调用persist而不是任何其他值之后,我能够从数据库中获取主键值.例如
public void create(Project project) {
entityManager.persist(project);
System.out.println("Id -- " + project.getProjectId());
System.out.println("no -- " + project.getProjectNo());
}
Run Code Online (Sandbox Code Playgroud)
从上面的代码我能够获得新插入的值project.getProjectId,但无法获取project.getProjectNo
我能得到的原因projectId 是因为它是主键?
如何才能获得getProjectNo持续存在的价值?
我正在开发 Glassfish 版本 3,当我尝试编译应用程序时,此错误日志出现在日志文件中,
SEVERE: The annotation symbol defined in super-class is not compatible with Session ejb ManagerDaoImpl
Run Code Online (Sandbox Code Playgroud)
注释是@Singleton和@Stateless
有什么办法可以解决这个问题吗?
我正在使用log4j1.2,我是log4j的新手.
我希望当我在本地机器上调试时,日志将打印到控制台.但是当它在PROD中运行时,它只是记录到文件,因为我希望有最少的开销.
我希望我可以实现这一点(只在本地机器上打印到控制台而不是prod env),而不是每次部署时都修改属性文件.
这是我的log4j.properties的样子:
log4j.rootLogger=DEBUG,BAE,console,error
##################production logs###############
log4j.appender.BAE=org.apache.log4j.FileAppender
log4j.appender.BAE.encoding=utf-8
log4j.appender.BAE.Append=true
log4j.appender.BAE.Threshold=INFO
log4j.appender.BAE.layout=org.apache.log4j.SimpleLayout
####################Conole logs####################
##(hope only enable when debuging in local machine)
log4j.appender.console= org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=utf-8
## DEBUG logs
log4j.appender.console.Threshold = Trace
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
##################error logs##########################
log4j.appender.error=org.apache.log4j.FileAppender
log4j.appender.error.File=/home/bae/log/error.log
log4j.appender.error.Threshold = ERROR
log4j.appender.error.Append=true
log4j.appender.error.layout=org.apache.log4j.SimpleLayout
Run Code Online (Sandbox Code Playgroud) 所以我正在读取一个输入文本文件,该文件是4行单空格分隔数字.文本文件只是:
5
9 6
4 6 8
0 7 1 5
Run Code Online (Sandbox Code Playgroud)
我想将这些数字输入到一个名为rows的2D数组中.例如,rows[1][0]应该是9第二行中的第一个数字.
我的问题是当我使用扫描仪时,in.next()或者in.nextInt()它忽略了行的结束而只是继续前进,所以rows[0][1]结束了而9不是0.0如果该插槽没有编号,我希望数组完成填充.如此以来,第一行是唯一的1号码,5我想为阵rows[0][0]要5,但rows[0][1]要rows[0][3]要0.
我尝试过使用try/catch NoSuchElementException和if,in.hasNextLine()但这些似乎都不起作用.
任何想法或帮助将不胜感激.
我在使用Java 1.5时遇到了一个问题,它涉及计算字符串中括号的数量,但也忽略了它们内部的内容.我在网上看到很多例子展示了如何计算括号,但我只想要父括号.
一个例子是使用以下字符串:
someText[blarg[more text]and more]
Run Code Online (Sandbox Code Playgroud)
对于我想要的,结果总数将是一对.
我想检查这样的自定义模式=SUM(A1:A10).的地方A1和A10可以改变,但其他人都在修复.我尝试了以下代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
public static void main(String[] args) {
Pattern pattern=Pattern.compile("SUM[(][A-T][1-20][:][A-T][1-20][)]");
Matcher m=pattern.matcher("SUM(A9:A1)");
System.out.println(m.matches());
}
}
Run Code Online (Sandbox Code Playgroud)
但它不行.请帮我!
我想现在每14分钟就找一份工作.
例如,如果我在上午11:04安排工作,使用0 0/14 * * * ?cron表达式.然后预计火灾时间为11:18,11:32,11:46,依此类推.但它将在11:00,11:14:11,28:11:42,11:56,12:00开火,这是不可预期的.为什么它在11:56之后的中午12点开火,差距只有4分钟.
提前致谢.