- 浏览: 1756934 次
- 性别:
- 来自: 大连
博客专栏
-
Spring数据库访问系列...
浏览量:173661
-
Android学习笔记
浏览量:368127
-
iBatis开发详解
浏览量:189264
-
Objective-C学习...
浏览量:99838
最新评论
-
iLidy:
引用[/c
Hibernate持久化对象的生命周期详解 -
fengzigogo:
您好,有这个项目架构的源码下载地址吗?
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一 -
spring_springmvc:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
用Maven构建Java Web开发环境(Jetty容器)之二 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring 3之MVC & Security简单整合开发(二) -
赵庆辉:
看帖回复是美德,楼主讲的很清晰明了,看了豁然开朗.
Java String对象的经典问题(new String())
先来看看这一季度的试题的总体要求:
部门已经完成了多次编程考试,为了方便对每个人的考试情况进行跟踪,需要
将所有人员的成绩进行合并、汇总。
历次考试成绩格式为Excel格式,共有三列数据:邮件地址、姓名、成绩。为了
简化代码实现,在统计时,会先将Excel格式的成绩单“另存为”保存类型为“文本文件
(制表符分隔)(*.txt)”格式的文件,文件名称格式为“yyyymm.txt”(即:4位年份2位
月分.txt),作为程序的输入文件进行读取、合并操作。
输入文件保存在c:\test\src\文件夹下,此文件夹下不会有其它文件。在汇总处
理之前,我们会检查此文件夹下的输入文件,确保文件名符合输入要求。
在读取文件进行处理的过程中,如果遇到非法的数据,可以直接跳过当前人员的
成绩,继续处理其它数据。同时,需要将错误发生的源文件名,错误发生的行数,及
所在行内容记录在日志文件c:\test\test.log文件中。
记录信息为“数据错误:yyyymm.txt 第 N 行。”。其中,yyyymm.txt、N分别为实际
的文件名与行数。
合并后文件格式仍为文本文件,前两列为:邮件地址、姓名,从第三列开始,按
考试日期先后顺序逐一列出每次考试的成绩,如果某次考试缺考,则成绩以“--”
代替。合并后文件名称为“result.txt”,保存在c:\test\文件夹下。
便于后续做进一步检索与处理,输出文件格式需要严格符合下面的要求:
1)不需要有表头列,从文件第一行开始即为人员的成绩。
2)列宽与对齐方式:前两列,“邮件地址”列宽30字符,左对齐;“姓名”列宽15
字符,左对齐;从第三列开始,列宽统一为4字符且右对齐。
3)每位人员的成绩为一行数据,行末换行要符合windows平台习惯。
4)人员成绩按姓名的汉语拼音顺序排序,如果姓名相同,按邮件地址字母顺序排序。
附件给出输入文件与输出文件的示例,可仔细阅读以帮助理解上述格式要求。
提示:1)如果采用Java语言完成,编程过程中可以使用apache commons包中的api(这个
建议与考查的内容无关,至少便于对文件读写,评分是不会有任何影响)。
例如:固定列宽并且有对齐要求的文本格式化,可以使用commons-lang包中StringUtils
提供的LeftPad、RightPad方法(当然,这现方式并不强制要求,你也可以直接使用jdk
提供的PrintWriter.printf或者String.format或者其它方法这现同样的目的,选择自己
熟悉的就可以)
除以上包以外,请使用j2se6.0的标准内容。引入其他第3方库(如使用数据库)并不符合
考试要求。
2)日志记录推荐使用log4j或log4net。配置格式不做强制要求,但需要在源文件存在错误
时按要求记录问题。
我们仍然忽略任何第三方API,只要是Java API能完成的工作,我们不只用第三方工具。看了这个需求,其中需要进行日志的操作和数据格式化输出,其余就是简单IO和一个合并算法。日中日志我们可以使用java.util.logging的API,数据格式化就使用String.format()方法,下面我们来分析分析。
要使用Java的日志API,结合使用比较多的Log4j,首先想到的是日志的配置,下面来看看如何配置Java的日志API:
这个类是用来规范日志记录格式的,我们自定义的日志记录方式可以通过扩展Formatter类来进行,覆盖其中的format方法即可,其中的程序是生成日期,然后返回我们要在日志中看到的日志格式,这都很好理解,就不多说什么了。
写好了日志格式,那么在实际中该如何来使用呢,也很简单:
在类中声明一个静态的成员变量,然后对其进行一些设置,这里包括日志级别,输出位置和格式,那么格式就是上面那个类中设置的,调用setLoggerSettings()方法之后,就可以使用日志API了,这很简单。
下面来分析题目需求,要从几个文件中来读取信息然后进行合并,文件中可能有非法数据,要进行处理。文件中的信息包括电子邮件,姓名和每次的成绩,要求合并成绩到一条记录中,那么我们就要首先读取这些信息,然后进行合并处理。信息是用制表符分隔的,那么读取上来后就要根据制表符分割,如果发现分割出现问题,就记录日志。
首先抽象出数据中的对象,就是考试记录对象,我们简单刻画这个对象:
这里可说的不多,主要是构造方法,重载的方法有一个是填充record的,就是每条记录的成绩,而records变量是我们后期进行填充的。
我们开始编写readFromFile(String basePath)方法:
这些变量用于对数据进行处理。flagSet一看名字就是一个标识位,为什么用Set,因为合并之后每人是一条记录,那么处理后就合并了,而原始数据中一个人的信息可能有多条,那么我们要记录到底有多少不重复的人,就使用Set了,它会为我们自动去除重复的,同时TreeSet会按找字母顺序为我们自动排序,那么需求中的要求就满足了,我们不用再写排序的方法。InfoList用于放置从文件连续读出的原始数据,recordList是方法返回的结果,也是我们写入结果文件的最终对象,recordsPerFile是辅助变量,用于存储从每个文件中读取的文件数量,这是处理拼装大规模数据的基本方法,用于后期数据处理时的循环变量控制。
这部分就是从文件夹下读取文件并写入我们准备的变量中,首先进行文件夹判断,之后开始读取,我们将数据分行读取,然后用split函数对原始数据进行分隔,如果没有得到3个数据部分,那么视为该数据无效,就写日志,如果获取到了三个部分,首先将电子邮件和姓名存入Set,剩余信息存入infoList,使用辅助循环变量num来计算数量。
至此,我们已经读取到所需数据了,下面就是对数据进行处理了,首先是对我们的结果recordList进行一些初始化操作:
这里我们可以从flagSet中获取最终结果数量,然后对应写入recordList并初始化records数组,就做完了,下面是对成绩的处理了,这部分涉及到题目的核心算法,下面所示代表我的一个处理方式,可能不是最好的:
解释一下:我们首先变量recordsPerFile,这里标识出一共读取出几个文件,每个文件中的记录数量是多少,下面的while循环是变量recordList,就是我们每次要处理几个用户。进入while循环,首先获取一个ExamRecord对象,然后对其成绩栏位进行填充,如果没有值,那么就是”--”,下面开始处理infoList部分,这里就看到辅助变量的用途了,因为每个文件中可能没有全部人员的记录,就是文件记录数小于总人数,那么怎么办呢,每次遍历多少呢?就是辅助变量中记录的数据,两个集合的记录数不同,也同时可以遍历来进行对比处理,这就是一种方法,如果发现相同数据,在相应位置填充,最后的for循环是删除我们处理过的数据,每次删除0号元素,删除的次数是辅助变量中记录的。此时我们的数据处理完成,获得了recordList。
下面是写入文件的操作:
这里就没什么多说的了,就是需求中要求对数据格式进行处理,左对齐还是右对齐也很简单了。这里使用了C语言中printf()函数的格式,String的format()方法支持这点,就很简单了。
主函数如下:
执行主函数,就可以在相应位置看到结果。
原始数据和源码见附件。本文系作者本人的探索,希望大家批评指正。也希望和Neusofter们交流提高。
基本上每次都是IO操作和简单的算法。强调基础。
呵呵 你认为如果在软开混 还可以就行,只是个建议……
相信你来1~2年吧,该跳了
抱歉,我不是Neusoft的
基本上每次都是IO操作和简单的算法。强调基础。
呵呵 你认为如果在软开混 还可以就行,只是个建议……
相信你来1~2年吧,该跳了
基本上每次都是IO操作和简单的算法。强调基础。
部门已经完成了多次编程考试,为了方便对每个人的考试情况进行跟踪,需要
将所有人员的成绩进行合并、汇总。
历次考试成绩格式为Excel格式,共有三列数据:邮件地址、姓名、成绩。为了
简化代码实现,在统计时,会先将Excel格式的成绩单“另存为”保存类型为“文本文件
(制表符分隔)(*.txt)”格式的文件,文件名称格式为“yyyymm.txt”(即:4位年份2位
月分.txt),作为程序的输入文件进行读取、合并操作。
输入文件保存在c:\test\src\文件夹下,此文件夹下不会有其它文件。在汇总处
理之前,我们会检查此文件夹下的输入文件,确保文件名符合输入要求。
在读取文件进行处理的过程中,如果遇到非法的数据,可以直接跳过当前人员的
成绩,继续处理其它数据。同时,需要将错误发生的源文件名,错误发生的行数,及
所在行内容记录在日志文件c:\test\test.log文件中。
记录信息为“数据错误:yyyymm.txt 第 N 行。”。其中,yyyymm.txt、N分别为实际
的文件名与行数。
合并后文件格式仍为文本文件,前两列为:邮件地址、姓名,从第三列开始,按
考试日期先后顺序逐一列出每次考试的成绩,如果某次考试缺考,则成绩以“--”
代替。合并后文件名称为“result.txt”,保存在c:\test\文件夹下。
便于后续做进一步检索与处理,输出文件格式需要严格符合下面的要求:
1)不需要有表头列,从文件第一行开始即为人员的成绩。
2)列宽与对齐方式:前两列,“邮件地址”列宽30字符,左对齐;“姓名”列宽15
字符,左对齐;从第三列开始,列宽统一为4字符且右对齐。
3)每位人员的成绩为一行数据,行末换行要符合windows平台习惯。
4)人员成绩按姓名的汉语拼音顺序排序,如果姓名相同,按邮件地址字母顺序排序。
附件给出输入文件与输出文件的示例,可仔细阅读以帮助理解上述格式要求。
提示:1)如果采用Java语言完成,编程过程中可以使用apache commons包中的api(这个
建议与考查的内容无关,至少便于对文件读写,评分是不会有任何影响)。
例如:固定列宽并且有对齐要求的文本格式化,可以使用commons-lang包中StringUtils
提供的LeftPad、RightPad方法(当然,这现方式并不强制要求,你也可以直接使用jdk
提供的PrintWriter.printf或者String.format或者其它方法这现同样的目的,选择自己
熟悉的就可以)
除以上包以外,请使用j2se6.0的标准内容。引入其他第3方库(如使用数据库)并不符合
考试要求。
2)日志记录推荐使用log4j或log4net。配置格式不做强制要求,但需要在源文件存在错误
时按要求记录问题。
我们仍然忽略任何第三方API,只要是Java API能完成的工作,我们不只用第三方工具。看了这个需求,其中需要进行日志的操作和数据格式化输出,其余就是简单IO和一个合并算法。日中日志我们可以使用java.util.logging的API,数据格式化就使用String.format()方法,下面我们来分析分析。
要使用Java的日志API,结合使用比较多的Log4j,首先想到的是日志的配置,下面来看看如何配置Java的日志API:
package logging; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; /** * 日志记录器格式 * * @author Nanlei * */ public class LogFormatter extends Formatter { @Override public String format(LogRecord record) { Date date = new Date(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = df.format(date); return "[" + dateStr + "] [" + record.getLevel() + "]" + record.getClass() + " : " + record.getMessage() + "\n"; } }
这个类是用来规范日志记录格式的,我们自定义的日志记录方式可以通过扩展Formatter类来进行,覆盖其中的format方法即可,其中的程序是生成日期,然后返回我们要在日志中看到的日志格式,这都很好理解,就不多说什么了。
写好了日志格式,那么在实际中该如何来使用呢,也很简单:
private static final Logger logger = Logger.getLogger(Main.class.getName()); private static void setLoggerSettings() throws Exception { logger.setLevel(Level.INFO); FileHandler fileHandler = new FileHandler("c:\\test\\test.log"); fileHandler.setFormatter(new LogFormatter()); logger.addHandler(fileHandler); }
在类中声明一个静态的成员变量,然后对其进行一些设置,这里包括日志级别,输出位置和格式,那么格式就是上面那个类中设置的,调用setLoggerSettings()方法之后,就可以使用日志API了,这很简单。
下面来分析题目需求,要从几个文件中来读取信息然后进行合并,文件中可能有非法数据,要进行处理。文件中的信息包括电子邮件,姓名和每次的成绩,要求合并成绩到一条记录中,那么我们就要首先读取这些信息,然后进行合并处理。信息是用制表符分隔的,那么读取上来后就要根据制表符分割,如果发现分割出现问题,就记录日志。
首先抽象出数据中的对象,就是考试记录对象,我们简单刻画这个对象:
package bean; /** * 考试记录bean * * @author Nanlei * */ public class ExamRecord { private String email;// 电子邮件 private String name;// 人名 private String record;// 单条成绩 private String[] records;// 考试记录 public ExamRecord() { super(); } public ExamRecord(String email, String name, String record) { super(); this.email = email; this.name = name; this.record = record; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRecord() { return record; } public void setRecord(String record) { this.record = record; } public String[] getRecords() { return records; } public void setRecords(String[] records) { this.records = records; } @Override public String toString() { return "ExamRecord [email=" + email + ", name=" + name + ", record=" + record + ", records=" + records + "]"; } }
这里可说的不多,主要是构造方法,重载的方法有一个是填充record的,就是每条记录的成绩,而records变量是我们后期进行填充的。
我们开始编写readFromFile(String basePath)方法:
Set<String> flagSet = new TreeSet<String>(); List<ExamRecord> infoList = new ArrayList<ExamRecord>(); List<ExamRecord> recordList = new ArrayList<ExamRecord>(); List<Integer> recordsPerFile = new ArrayList<Integer>();// 标识每个文件中合法记录的数量
这些变量用于对数据进行处理。flagSet一看名字就是一个标识位,为什么用Set,因为合并之后每人是一条记录,那么处理后就合并了,而原始数据中一个人的信息可能有多条,那么我们要记录到底有多少不重复的人,就使用Set了,它会为我们自动去除重复的,同时TreeSet会按找字母顺序为我们自动排序,那么需求中的要求就满足了,我们不用再写排序的方法。InfoList用于放置从文件连续读出的原始数据,recordList是方法返回的结果,也是我们写入结果文件的最终对象,recordsPerFile是辅助变量,用于存储从每个文件中读取的文件数量,这是处理拼装大规模数据的基本方法,用于后期数据处理时的循环变量控制。
File file = new File(basePath); if (!file.isDirectory()) { logger.info(file.getAbsolutePath() + " is not a directory"); } else { try { String[] files = file.list(); for (int i = 0; i < files.length; i++) { File targetFile = new File(basePath + "\\" + files[i]); BufferedReader br = new BufferedReader( new InputStreamReader(new FileInputStream( targetFile), "GBK")); String s = null; int line = 0; int num = 0; while ((s = br.readLine()) != null) { if (line == 0) { } else { String[] infos = s.split("\t"); if (infos.length != 3) { logger.info("错误数据 " + files[i] + " 第" + (line + 1) + "行"); } else { flagSet.add(infos[0] + "\t" + infos[1]); infoList.add(new ExamRecord(infos[0], infos[1], infos[2])); num++; } } line++; } recordsPerFile.add(num); br.close(); } } catch (Exception e) { e.printStackTrace(); }
这部分就是从文件夹下读取文件并写入我们准备的变量中,首先进行文件夹判断,之后开始读取,我们将数据分行读取,然后用split函数对原始数据进行分隔,如果没有得到3个数据部分,那么视为该数据无效,就写日志,如果获取到了三个部分,首先将电子邮件和姓名存入Set,剩余信息存入infoList,使用辅助循环变量num来计算数量。
至此,我们已经读取到所需数据了,下面就是对数据进行处理了,首先是对我们的结果recordList进行一些初始化操作:
Iterator<String> it = flagSet.iterator(); String str = null; while (it.hasNext()) { str = it.next(); String[] infos = str.split("\t"); ExamRecord er = new ExamRecord(); er.setEmail(infos[0]); er.setName(infos[1]); String[] arrays = new String[recordsPerFile.size()]; er.setRecords(arrays); recordList.add(er); }
这里我们可以从flagSet中获取最终结果数量,然后对应写入recordList并初始化records数组,就做完了,下面是对成绩的处理了,这部分涉及到题目的核心算法,下面所示代表我的一个处理方式,可能不是最好的:
// 开始处理成绩 for (int i = 0; i < recordsPerFile.size(); i++) { int num = recordsPerFile.get(i); int count = 0; while (count < recordList.size()) { ExamRecord tmpER = recordList.get(count); tmpER.getRecords()[i] = "--"; for (int j = 0; j < num; j++) { ExamRecord er = infoList.get(j); if (tmpER.getEmail().equals(er.getEmail())) { tmpER.getRecords()[i] = er.getRecord(); } } count++; } for (int k = 0; k < num; k++) { infoList.remove(0); } }
解释一下:我们首先变量recordsPerFile,这里标识出一共读取出几个文件,每个文件中的记录数量是多少,下面的while循环是变量recordList,就是我们每次要处理几个用户。进入while循环,首先获取一个ExamRecord对象,然后对其成绩栏位进行填充,如果没有值,那么就是”--”,下面开始处理infoList部分,这里就看到辅助变量的用途了,因为每个文件中可能没有全部人员的记录,就是文件记录数小于总人数,那么怎么办呢,每次遍历多少呢?就是辅助变量中记录的数据,两个集合的记录数不同,也同时可以遍历来进行对比处理,这就是一种方法,如果发现相同数据,在相应位置填充,最后的for循环是删除我们处理过的数据,每次删除0号元素,删除的次数是辅助变量中记录的。此时我们的数据处理完成,获得了recordList。
下面是写入文件的操作:
private static void writeResultToFile(String fileName, List<ExamRecord> recordList) { BufferedOutputStream output = null; try { output = new BufferedOutputStream(new FileOutputStream(fileName)); for (int i = 0; i < recordList.size(); i++) { ExamRecord examRecord = recordList.get(i); output.write(String.format("%-30s", examRecord.getEmail()) .getBytes()); output.write(String.format("%-15s", examRecord.getName()) .getBytes()); for (int j = 0; j < examRecord.getRecords().length; j++) { output.write(String.format("%4s", examRecord.getRecords()[j]).getBytes()); } output.write("\r\n".getBytes()); } output.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (output != null) { output.close(); } } catch (IOException e) { e.printStackTrace(); } } }
这里就没什么多说的了,就是需求中要求对数据格式进行处理,左对齐还是右对齐也很简单了。这里使用了C语言中printf()函数的格式,String的format()方法支持这点,就很简单了。
主函数如下:
public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); // 设置Log setLoggerSettings(); // 读取文件到对象中 List<ExamRecord> recordList = readFromFile("c:\\test\\src"); // 将结果写入文件 writeResultToFile("c:\\test\\result.txt", recordList); long end = System.currentTimeMillis(); System.out.println(end - start + " ms!"); }
执行主函数,就可以在相应位置看到结果。
原始数据和源码见附件。本文系作者本人的探索,希望大家批评指正。也希望和Neusofter们交流提高。
评论
4 楼
sarin
2011-03-12
kevin231231qian 写道
sarin 写道
kevin231231qian 写道
说实话,我非常看不起 软开 出考试题的那几个人。
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
基本上每次都是IO操作和简单的算法。强调基础。
呵呵 你认为如果在软开混 还可以就行,只是个建议……
相信你来1~2年吧,该跳了
抱歉,我不是Neusoft的
3 楼
kevin231231qian
2011-03-12
sarin 写道
kevin231231qian 写道
说实话,我非常看不起 软开 出考试题的那几个人。
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
基本上每次都是IO操作和简单的算法。强调基础。
呵呵 你认为如果在软开混 还可以就行,只是个建议……
相信你来1~2年吧,该跳了
2 楼
sarin
2011-03-11
kevin231231qian 写道
说实话,我非常看不起 软开 出考试题的那几个人。
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
基本上每次都是IO操作和简单的算法。强调基础。
1 楼
kevin231231qian
2011-03-11
说实话,我非常看不起 软开 出考试题的那几个人。
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
一点技术含量都没有,简直就是体力活。
同学如果有条件 赶紧跳把。很没有意思。
很有想法,不过想发挥,还是去个能发挥的公司吧,在东软,没有戏……
发表评论
-
HTML5/CSS3翻转动画(二)
2011-12-31 11:28 9585上一篇我们制作了两行文字的翻转效果,他们是同步进行的, ... -
HTML5/CSS3翻转动画(一)
2011-12-30 13:43 17675翻转动画效果,就是将页面的元素(文字,图片)加入围绕坐 ... -
HTML5/CSS3清爽后台番外篇-添加锁屏效果
2011-10-29 12:34 10280锁屏效果,也就是将屏幕置于模态,不允许用户触发任何动作 ... -
基于HTML5/CSS3的清爽后台管理页面(二)
2011-10-02 09:11 13042本文接上一篇继续来介绍企业级开发中后台管理页面的制作。 ... -
基于HTML5/CSS3的清爽后台管理页面(一)
2011-10-01 21:36 20607后台管理系统是企业级开发中必不可少的组成部分,一般来说 ... -
HTML5绘制饼图实例(二)
2011-08-15 21:16 11227本文接上一讲继续 ... -
HTML5绘制饼图实例(二)
2011-08-15 20:48 8本文接上一讲继续来说明 我们继续来制作饼图示例 ... -
HTML5绘制饼图实例(一)
2011-08-14 15:28 12268HTML5引入Canvas元素 ... -
我的视频教程《中小企业OA系统》
2011-07-29 22:27 7749经过5个月的制作,和华章合作的《中小企业OA系统》Ja ... -
Apache POI组件操作Excel,制作报表(四)
2011-01-04 22:36 10110上一篇我们介绍了如何制作复杂报表的分析和设计,本篇结合 ... -
Apache POI组件操作Excel,制作报表(三)
2010-12-27 23:26 13256上一篇介绍了POI组件操作Excel时如何对单元格和行 ... -
Apache POI组件操作Excel,制作报表(二)
2010-12-19 16:04 18246本文接上一篇继续探究POI组件的使用。 现在来看 ... -
Apache POI组件操作Excel,制作报表(一)
2010-12-16 22:25 42290Apache的POI组件是Jav ... -
使用JACKSON解析JSON(HttpClient 3处理请求)
2010-11-24 18:50 27464在上一篇中,我们 ... -
使用XStream解析XML(使用HttpClient 4发送请求)
2010-11-07 12:55 9586本文意在简单说明XStream解析XML,配合Http ... -
从一道Neusoft题中想到的IO和Comparator
2010-09-23 10:36 2833Neusoft内部定期举 ... -
Spring支持的Quartz程序调度
2010-09-05 21:45 9677开发时有时会有这样一种需求,定期计算某些数据或者执行某 ... -
Servlet 3(用Java生成GET/POST请求)
2010-08-29 10:59 14619Servlet是SUN指定的Java服务器端编程规范, ... -
使用Fusion Charts制作报表(dom4j生成XML)
2010-07-13 13:03 16827首次看到Fusion Charts是在Bug Free ... -
使用Javabean作为数据源的JasperReport报表(通过WebService/RMI调用数据)
2010-06-18 09:46 7137本文接http://sarin.iteye.com/b ...
相关推荐
在Neusoft的招聘考试中,Java部分可能涵盖以下知识点: 1. **Java基础**:包括类、对象、封装、继承、多态等概念,以及异常处理和垃圾回收机制。 2. **集合框架**:List、Set、Map接口的使用,以及ArrayList、...
这些文件主要涵盖的是Neusoft公司历年来的内部试题与答案,主要涉及的编程语言是C++,时间跨度从2005年至2010年。Neusoft是一家知名的中国IT解决方案和服务提供商,其对员工的技术能力有较高要求,因此这些试题可能...
【标题】"Neusoft Java Question"涉及到的是东软公司在面试过程中经常出现的Java相关问题。这表明面试者需要对Java编程语言有深入的理解和熟练的掌握,以便在面试中表现出色,成功获得心仪的工作岗位。 【描述】...
从文件的命名格式可以看出,考试涵盖了多种题型,包括选择题、填空题、改错题以及编程题,这表明考试旨在全面评估学员在C和C++语言、Windows编程、UCOS操作系统以及可能的C#基础知识方面的理解和应用能力。...
Neusoft公司Java编码规范 目的 5 范围 6 前提条件 7 Java编码规范概要 8 1 代码风格 8 1.1 一般格式说明 8 1.2 基本结构 8 2 代码结构 9 2.1 变更履历 9 2.2 Package声明 11 2.3 Import声明 12 2.4 Class Header 13 ...
Java编码规范(Java Coding Standard) oiNSFT-BS-OT0105 V3.0 2005-5-11 东软集团有限公司 商用软件事业部 版权所有 中国 沈阳浑南高新技术产业开发区 东软软件园
标题 "case neusoft" 暗示我们可能在讨论一个与Neusoft相关的案例,这是一家中国知名的IT解决方案和服务提供商。在这个特定的上下文中,我们可能会深入探讨Neusoft在某个项目或技术领域的应用。描述中提到的“NULL”...
东软集团的java笔试题 neusoft_groupManage ##GET 获取部门与其班组信息 param null return testDepartment // 数组 获取可用的班制的信息 param null return testClassSystems ##POST 查询排班信息 param ...
7. **更新日志**:可能包含了软件的更新历史,记录了从初始安装到备份时所做的所有更改。 8. **系统设置**:可能是操作系统级别的设置,例如关联文件类型、快捷键等,这些都是为了让备份恢复后播放器能正常工作。 ...
neusoft培训linux资料,课件以及Gtk学习 neusoft培训linux资料,课件以及Gtk学习
NEUSOFT PACS/RIS系统是由沈阳东软医疗系统有限公司研发的一款医学影像管理系统,它主要服务于医院和影像科室,提供了全面的医学影像综合管理与应用解决方案。该系统基于DICOM3.0和HL7等国际标准进行设计,确保了与...
本地设定目录中包含音频文件的浏览和播放(可以支持 mp3/wma)。 本地设定目录中包含图片文件的浏览、预览和播放(可以支持 jpg/png/gif/bmp)。 本地设定目录中包含视频文件的浏览和播放(可以支持 wmv/avi/asf)...
本文将深入探讨一款基于Java开发、利用Mysql数据库的图书管理系统,这对于学习Java编程和理解实际项目开发流程的学生,尤其是Neusoft(东北大学软件学院)的学生来说,无疑是一份宝贵的参考资料。 首先,我们要了解...
Neusoft Media Player Neusoft Media Player Neusoft Media Player Neusoft Media Player Neusoft Media Player Neusoft Media Player Neusoft Media Player
【描述】中的重复信息"课件ASP在Neusoft课件ASP在Neusoft课件ASP在Neusoft"强调了这个课程或项目主要关注的是学习和实践ASP技术在Neusoft的实际操作。 【标签】"课件ASP在Neusoft课件ASP在Neusoft"进一步确认了内容...
- **角色转变**:从个人成功到团队成功,从管理自己到管理团队成员。 - **期望**: - 领导层期望项目经理能够培养下属、具备双赢思维、承担责任和拥有商业意识。 - 下属期望项目经理能做出果断决策、提供支持、以...
课件ASP在Neusoft课件ASP在Neusoft课件ASP在Neusoft课件ASP在Neusoft课件ASP在Neusoft