摘要: 文件的随机访问主要是通过RandomAccessFile来完成,它使用seek()方法从文件中的一个记录移动到下一个记录进行读或者写,而不需要知道总共多少个记录。它不需要把所有的记录全部装进内存再进行读写,对于访问大文件来说,这是一种高效的选择。构造函数:两种方法来制定对应的文件:字符串路径和File构造方法摘要RandomAccessFile(Filefile, Stringmode) 创建从中读取和向其中写入(可选)的随机访问文件流,该文件由 File 参数指定。RandomAccessFile(Stringname, Stringmode) 创建从中读取和向其中写入(可选)的随机访问文件 阅读全文
posted @ 2011-03-15 20:38 jinmengzhe 阅读(1840) 评论(0) 推荐(0)
摘要: 有时候打开文件会有这样的提示:该文件已被另一个程序占用,打开失败。这是因为另一个程序正在编辑该文件,并且不希望编辑过程中其他程序来修改这个文件,由此锁定了该文件。 在java中,使用Filelock类来实现锁定文件,下面的代码演示了这种方法。package FileOperation;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileLock;public class LockFile { public static void main(String[] args) . 阅读全文
posted @ 2011-03-15 20:26 jinmengzhe 阅读(659) 评论(0) 推荐(0)
摘要: 1) 输入输出流(程序从某个地方数据,程序将数据保存到某个地方)输入流是将数据从数据源传送到程序,输出流是将数据从程序送到期望的地方。(什么是数据源是关键,不要混淆输入和输出)字节:InputStream和OutputStream双字节:Reader和WriterReader和Writer用于读取双字节的Unicode的字符,读取中文时不会出现乱码类的层次,继承关系,这里主要介绍文件的读写,即子类FileInputStream等。2) 标准输入输出流System.in 接受用户在标准io设备上的输入,一般是键盘。System.outSystem.err3) 流的常用方法以上四个流的常用方法。读 阅读全文
posted @ 2011-03-15 19:18 jinmengzhe 阅读(921) 评论(0) 推荐(0)
摘要: 1 package FileOperation; 2 3 import java.io.File; 4 import java.io.FileFilter; 5 import java.util.ArrayList; 6 import java.util.List; 7 8 /*本程序在指定的文件夹以及其子文件夹里递归的寻找包含关键字的文件 9 * 1,使用FileFilter接口来过滤文件,实现FileFilter里的boolean accept(File pathname) 10 * 作为过滤规则 11 * 2,使用了匿名内部类,在过滤时常用匿名内部类来产生一个包含boolean acc. 阅读全文
posted @ 2011-03-15 13:06 jinmengzhe 阅读(530) 评论(0) 推荐(0)
摘要: 2011-03-11 19:441,异常分类:Error和Exception。Exception又分为Runtime Exception和Checked Exception以上的区别,对应的情形2,try catch和trycatchfinally处理异常的相关语法和注意点只处理一个catch,finally总要处理,即使return,除非System.exit();3,throws和throw的使用和区别(自己设计异常)为什么要throws,交给调用者去处理异常!throws声明某个方法有Checked Exception异常,throw用在方法内抛出异常,一般来说二者一起用,在方法内抛出C 阅读全文
posted @ 2011-03-15 13:04 jinmengzhe 阅读(254) 评论(0) 推荐(0)
摘要: 2011-03-15 00:411,文件类File在java里,File类代表普通的文件或文件夹,用来获取文件的一些信息,例如文件位置,是文件还是文件夹,存不存在,大小,最后修改时间。该类不打开任何文件,也不提供处理文件内容的功能,甚至不保证该文件存在。构造函数构造方法摘要File(Fileparent,Stringchild)根据 parent抽象路径名和 child路径名字符串创建一个新File实例。File(Stringpathname)通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。File(Stringparent,Stringchild)根据 parent路径名字符 阅读全文
posted @ 2011-03-15 13:04 jinmengzhe 阅读(420) 评论(0) 推荐(0)
摘要: 我想要的是这个:自动完成Edit–>Word Completion[ctrl+alt+/]直接自动完成词语,自动选择最相近的[Alt + /]content assist 给出列表选择瓜娃才一直不停的重复敲老长的变量呢…更瓜的娃像我,总自作聪明的加上个this来从提示里找eg. 缩写的自动完成输入sysout +以上快捷键,就会自动出现:System.out.println(); 。设定Template的格式:窗口->喜好设定->Java->编辑器->模板。唯一需要记住的快捷键:快捷键表[ctrl+shift+L]会弹出所有快捷键列表纠错: 不去点左边的小叉子[c 阅读全文
posted @ 2011-03-15 13:03 jinmengzhe 阅读(491) 评论(0) 推荐(0)
摘要: 2011-03-04 21:171,Math类Math类是一种被声明为final的类,同String类一样不能被继承。Math类的所有变量和方法都是static的,直接用类名访问。public static final double E;public static final double PI;public static final double sin(a);……..2,Date类java.util.Date是java处理日期类计算的类,包含了年月日时分秒等的许多操作。因为不利于日期的国际化操作,现在已经不被推荐,这些操作被转移到一个叫做日历java.util.Calendar中。在jav 阅读全文
posted @ 2011-03-15 13:01 jinmengzhe 阅读(507) 评论(0) 推荐(0)
摘要: 2011-03-04 13:04与类相关的关键字final,static,this,super1,final修饰符1)修饰类最终类,该类不能被继承2)修饰变量最终变量,即常量,不能修改其值,常量必须在定义时就为其赋初值。final int MIN;语句是错误的3)修饰方法最终方法,该方法不能被子类覆盖。2,static修饰符1)类变量和实例变量不同对象的实例变量被分配不同的内存空间,共享同一类变量的内存空间。类变量可以直接通过类名来引用,而实例变量必须通过类的对象来引用2)类方法和实例方法类方法在类被加到内存的时候就分配了内存空间,可以通过类名直接引用实例方法在生成对象时才分配内存空间,必须通 阅读全文
posted @ 2011-03-15 13:00 jinmengzhe 阅读(186) 评论(0) 推荐(0)
摘要: 2011-03-03 22:47a)匿名类(区别于匿名对象)没有明确的类定义格式,是指类的定义和类的对象的创建合并在一起的情况。匿名类属于一个唯一的对象,在生成接口的同时定义匿名类。b)静态类静态类作为类的静态成员存在于某个类中,class OuterClass{static class InnerClass{…..}}可以将它看做类的静态成员,static成员不需要创建OuterClass的对象可以直接使用,即在不创建OuterClass的对象的情况下,直接创建InnerClass的对象。在OuterClass内部:InnerClass obj = new InnerClass();在Out 阅读全文
posted @ 2011-03-15 12:59 jinmengzhe 阅读(230) 评论(0) 推荐(0)
摘要: 2011-03-03 22:371,包的定义package必须作为java源文件的第一条语句:package packagename;如果省略了package语句,将放入默认包中,默认包没有名字。包以目录的形式组织引入包中的类:import语句java.lang包是java语言的核心类库,是java程序运行必不可少的系统类库,系统会自动引入,不需要使用import再引入。2,类中变量和方法的访问权限注意:类前面的的权限修饰符只能是public或者没有(缺省),缺省的类只能在本包中使用,public的类可以在所有包中使用。这里要说的是类中成员变量和方法的访问权限,它们可以用public,prot 阅读全文
posted @ 2011-03-15 12:58 jinmengzhe 阅读(238) 评论(0) 推荐(0)
摘要: 2011-03-02 22:181,类的定义[类修饰符]classClassName{//类体的内容,成员变量+成员方法}注意:类修饰符只能是public或者无修饰符若是public,类保存的文件名必须与类名一致(推荐总是保存的一直)2,成员变量和局部变量1)成员变量在整个类内部有效,局部变量只在定义它的方法内有效2)成员变量分类:实例成员变量和类成员变量(static修饰)3)成员变量的隐藏,this关键字当定义的局部变量和成员变量名字相同的时候,在局部变量的范围内要想使用成员变量得用this来引用3,成员方法[accessType]returnType name([parameter]){ 阅读全文
posted @ 2011-03-15 12:58 jinmengzhe 阅读(261) 评论(0) 推荐(0)
摘要: 2011-03-02 20:09三,字符类CharacterCharacter类用于存储和操作单一的字符值,一旦Character对象被创建,就不能改变。构造方法摘要Character(charvalue)构造一个新分配的Character对象,用以表示指定的char值。常用方法:intcompareTo(CharacteranotherCharacter)根据数字比较两个Character对象。booleanequals(Objectobj) 将此对象与指定对象比较。StringtoString() 返回表示此 Character值的 String对象。charcharValue() 返回此 阅读全文
posted @ 2011-03-15 12:57 jinmengzhe 阅读(339) 评论(0) 推荐(0)
摘要: 2011-03-02 20:08一,字符串数组构造函数:String[]array = new String[5];String[] array =new String[] {“aa”,”bb”,”cc”};String[] array = {“aa”,”bb”,”cc”};字符串数组也被看做对象:属性:length(区别于字符串的方法length())常用方法:void System.arraycopy(object[] from,intfromIndex, object[] to,int fromIndex,int count),系统的一个静态方法二,字符串缓存类StringBufferS 阅读全文
posted @ 2011-03-15 12:56 jinmengzhe 阅读(473) 评论(0) 推荐(0)
摘要: 2011-03-02 19:11借助于其他的类来实现字符串的格式化,而不是String类本身,例如日期,货币的表示。格式化日期:Date类:构造方法:Date()分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。Date(longdate)分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970年 1月 1日 00:00:00 GMT)以来的指定毫秒数。其他方法:DateFormat类:public abstract class DateFormatextends Format构造方法:DateFormat()创建一个新的 DateFor 阅读全文
posted @ 2011-03-15 12:55 jinmengzhe 阅读(425) 评论(0) 推荐(0)
摘要: 2011-03-01 22:20String类:在java中,没有内置的字符串类型,字符串常量是作为String类的对象存在的。(String类的对象是字符串常量!!!)内容一旦确定不可更改构造方法无构造函数直接指向一个String对象String()创建一个空的String对象String(Stringstr)利用一个存在的String对象复制一个String对象String(StringBufferbuf)利用一个存在的StringBuffer对象创建String对象String(charc[])利用存在的字符数组创建String对象String(byte[] b ,String enco 阅读全文
posted @ 2011-03-15 12:53 jinmengzhe 阅读(448) 评论(0) 推荐(0)
摘要: 《Data Structures in C》机械工业出版社Ellis Horrowitz, Sartaj Sahni, Susan Anderson-Freed 著李建中,张岩,李治军译1.2.2 霍纳规则计算多项式1.2.10 Ackerman函数的递归实现1.2.11 汉诺塔的递归实现#include <stdio.h>#define MAX 20int main(){float A[MAX];float x0;float sum;int n;printf("请输入你要计算的多项式最高次数n的值\n");scanf("%d",&n 阅读全文
posted @ 2011-03-15 12:51 jinmengzhe 阅读(371) 评论(0) 推荐(1)
摘要: 附录B:C++/C试题本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。笔试时间90分钟。请考生认真答题,切勿轻视。附录C:C++/C试题的答案与评分标准一、请填写BOOL ,float,指针变量与“零值”比较的if语句。(10分)请写出BOOLflag与“零值”比较的if语句。(3分)标准答案:if ( flag )if ( !flag )如下写法均属不良风格,不得分。if (flag == TRUE)if (flag == 1 )if 阅读全文
posted @ 2011-03-15 12:49 jinmengzhe 阅读(395) 评论(0) 推荐(0)
摘要: 2010-12-13 16:15free和delete把指针怎么啦?别看free和delete的名字恶狠狠的(尤其是delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。用调试器跟踪示例7-5,发现指针p被free以后其地址仍然不变(非NULL),只是该地址对应的内存是垃圾,p成了“野指针”。如果此时不把p设置为NULL,会让人误以为p是个合法的指针。如果程序比较长,我们有时记不住p所指的内存是否已经被释放,在继续使用p之前,通常会用语句if (p != NULL)进行防错处理。很遗憾,此时if语句起不到防错作用,因为即便p不是NULL指针,它也不指向合法的内存块。 cha 阅读全文
posted @ 2011-03-15 12:48 jinmengzhe 阅读(418) 评论(0) 推荐(0)
摘要: 欢迎进入内存这片雷区。伟大的Bill Gates曾经失言:640K ought to beenough for everybody—Bill Gates 1981程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。7.1内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建, 阅读全文
posted @ 2011-03-15 12:46 jinmengzhe 阅读(383) 评论(0) 推荐(0)
摘要: 引用是C++中的概念,初学者容易把引用和指针混淆一起。一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m;int &n = m;n相当于m的别名(绰号),对n的任何操作就是对m的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。引用的一些规则如下:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。(3)一旦引用被初始化,就不能改变引用的关 阅读全文
posted @ 2011-03-15 12:45 jinmengzhe 阅读(289) 评论(0) 推荐(0)
摘要: 函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++语言中多了引用传递(pass by reference)。由于引用传递的性质象指针传递,而使用方式却象值传递,初学者常常迷惑不解,容易引起混乱,请先阅读6.6节“引用与指针的比较”。6.1参数的规则l【规则6-1-1】参数的书写要完整,不要贪图省事只写参数 阅读全文
posted @ 2011-03-15 12:45 jinmengzhe 阅读(410) 评论(0) 推荐(0)
摘要: 有时我们希望某些常量只在类中有效。由于#define定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用const修饰数据成员来实现。const数据成员的确是存在的,但其含义却不是我们所期望的。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其const数据成员的值可以不 同。不能在类声明中初始化const数据成员。以下用法是错误的,因为类的对象未被创建时,编译器不知道SIZE的值是什么。 class A {… const int SIZE = 100; //错误,企图在类声明中初始化const数据成员 intarray[SIZ 阅读全文
posted @ 2011-03-15 12:43 jinmengzhe 阅读(294) 评论(0) 推荐(0)
摘要: 《高质量C++/C程序设计指南》林锐编电子工业出版社看完书后从网上找到了电子版 略有不同 节选一些章节电子版地址 http://man.chinaunix.net/develop/c&c++/c/c.htmif语句 if语句是C++/C语言中最简单、最常用的语句,然而很多程序员用隐含错误的方式写if语句。本节以“与零值比较”为例,展开讨论。4.3.1布尔变量与零值比较l【规则4-3-1】不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE的值究竟是什么并没有统一的标准。例如Visu 阅读全文
posted @ 2011-03-15 12:42 jinmengzhe 阅读(391) 评论(0) 推荐(0)
摘要: 一,指针的运算1,&和*运算符的优先级相同,且是自右向左结合的单目运算符也是自右向左结合的,故*p++和(*p)++是不一样的。而且*,++是具有相同的运算优先级的,故如*s++,++是作用于s的,而不是*s。2,两个指针有时候可以做减法运算,例如,若p,q指向同一数组中的元素,那么p-q表示的是p,q之间的元素的个数。(并不是两个地址值相减)3,指针与整数的加减运算,表示指针相对当前位置的位移。如*(p+1)4,指针在一定条件下可以比较(指向同一共用对象时),例如p,q指向同一数组,可以写p>q;二,指针变量作函数参数函数执行后指针本身的值没有改变,指针所指的内容改变了如:vo 阅读全文
posted @ 2011-03-15 12:41 jinmengzhe 阅读(518) 评论(0) 推荐(0)
摘要: 问题描述:假设有N个小孩按照序号1,2,,,N围坐成一圈,从第一个小孩开始报数,每次报到n的人退出,接着从下一个人重新开始从1开始报数,下一次再报到n的人退出,求最后一个留下的人;小孩的个数N,和报数的n由键盘输入;输出留下人的序号一个循环链表都写得除出了很多问题,改了半天才出来;#include <stdio.h>#include <stdlib.h>//包含malloc()void main(){ int N,n; int count = 0; struct c_list { int num; struct c_list *next; }; struct c_lis 阅读全文
posted @ 2011-03-15 12:40 jinmengzhe 阅读(816) 评论(0) 推荐(0)
摘要: 一,结构体的概念和定义1,结构体的定义struct 结构体名{数据类型 成员名1;数据类型 成员名1;...};这里数据类型可以是复合类型,例如又是一个结构体类型,即嵌套;2,结构体变量的定义struct 结构体名 变量名1,变量名2,,,变量名n;或:struct 结构体名{数据类型 成员名1;数据类型 成员名1;...}结构体变量1,结构体变量2;或:struct{数据类型 成员名1;数据类型 成员名1;...}结构体变量1,结构体变量2;三种方式,第三种方式的话,每次要定义这个类型的结构体变量都要重复的写这一段代码;其实定义了结构体后,struct 结构体名就是一种新的类型,上述语句就像 阅读全文
posted @ 2011-03-15 12:35 jinmengzhe 阅读(2994) 评论(0) 推荐(0)