Article View: cn.bbs.comp.lang.java
Article #22085Java���˼��---��17�� ��Ŀ
From: �˺�2��
Date: Tue, 28 Oct 2003 01:50
Date: Tue, 28 Oct 2003 01:50
357 lines
47060 bytes
47060 bytes
���°���һϵ����Ŀ�����Ƕ��Ա�����ܵ�����Ϊ���������ڵ��½ڽ�����һ�� �̶ȵ����䡣 ����ǰ��������Ŀ��ȣ����Ĵ������Ŀ������Ҫ���ӵö࣬���dz����ʾ���¼� ���Լ��������á� 17.1 ���ִ��� �������C��C++�ľ��飬��ô�ʼ���ܻ��Java�����ı��������е����ɡ���ʵ�ϣ� ������µľ����ٶ��ر�������ܷ������Ǵ��������ķ��ӡ�Ȼ��Java��Ӧ�Ĺ� �ߣ��ر���String�ࣩ���к�ǿ�Ĺ��ܣ����ڵ�����չʾ�������������Ҳ��һ ���̶ȵ����� �����Ҽ�����������������Щ���ӵ�Ŀ�Ķ���Ϊ�˽��������ƹ����������һ Щ���⡣���ǣ����ǵ��������ǽ�ֹ�ڴˡ�ͨ��ĸ��죬����������������ϴ� �����֡�������⣬���ǻ���ʾ���˱�����ǰû��ǿ�����һ��Java���ԡ� 17.1.1 ��ȡ�����б� ���ڱ���ÿһ������Ĵ����б?���Ǵ���Σ���������ɻ�ע����Ƕ��������ע �ͼǺ���ʼ�����'//:'��'///:~'����֮����Ҫ�������ֱ�־��Ϣ����Ϊ���ܽ����� �ӱ����Զ���ȡ�����ݵ�Դ���ļ��С����ҵ�ǰһ������������һ��ϵͳ���ɽ��� �Թ�Ĵ����ļ��Զ��ϲ������С��������Ȿ�飬�ҷ���һ�ָ����������һ��ͨ�� ������IJ��ԣ��ͰѴ���ճ�����С��������ں��ѵ�һ�ξͱ���ͨ������������� �ڲ��༭���롣�������ȡ�����Դ����أ����������ǹؼ�����������һ���� �ִ�������⣬��ô��Ҳ�������ü�ֵ������Ҳ��ʾ��String���������ԡ� �����Ƚ����鶼��ASCII�ı���ʽ�����һ���������ļ���CodePackager������������ ��ģʽ����usageString����Ӧ�������������ʹ��-p��־������ͻ���һ������A SCII�ı�������������ݣ���һ�������ļ�������������ļ�������ע�ͼǺ���ȡ�� ���룬����λ�ڵ�һ�е��ļ��������������ļ�ʹ��ʲô���֡�������⣬����Ҫ���� ������һ������Ŀ¼��ʱ�������package��䣨�����package���ָ����·�� ѡ�� ��������������Ҫ��package������и��٣��Ӷ�������ڷ���ı仯������ ÿһ��ʹ�õ����а���c02��c03��c04�ȵ���ͷ�����ڱ����������������һ�£����� Щ��com��ͷ�����⣬�����ڶԲ�ͬ���½��и��ٵ�ʱ��ᱻ���ԣ�����ֻҪÿһ�µĵ� һ�������б����һ��package������CodePackager������֪��ÿһ�·���ı仯���� ��������ļ��ŵ��µ���Ŀ¼� ÿ���ļ���ȡ����ʱ����������һ��SourceCodeFile��������ٽ��Ǹ���������һ�� ���ϣ����滹���꾡���������̣�����Щ SourceCodeFile������Լر������ļ� �У������DZ���Ŀ�ĵڶ�����;�����ֱ�ӵ���CodePackager�������-p��־����ͻ� ��һ��������ļ���Ϊ���롣�Ǹ��ļ����ᱻ��ȡ���ͷţ����뵥�����ļ������� -p��־����˼������ȡ�������ļ��ѱ������packed�����������һ���ļ��� ��Ϊʲô��Ҫ����鷳��ʹ�ô���ļ��أ��������ڲ�ͬ�ļ����ƽ̨�ò�ͬ�ķ�ʽ�� �ļ��ﱣ���ı���Ϣ���������������ǻ����ַ�ı�ʾ��������Ȼ�����п��ܴ����� һЩ���⡣Ȼ��Java��һ���������͵�IO���������DataOutputStream��������Ա� ֤������������Ժ��ֻ�����ֻҪʹ��һ�� DataInputStream��ȡ��Щ��ݣ��Ϳ��ñ� ����ȷ�ĸ�ʽ�������ǡ���Ҳ����˵��Java��������벻ͬƽ̨�йص�����ϸ�ڣ����� ����Java ���������һ�㡣����-p��־�ܽ����ж��������浽��һ���ļ��������ͨ �õĸ�ʽ���û��ɴ�Web��������ļ��Լ�Java����Ȼ�������ļ����� CodePackag er��ͬʱ��ָ��-p��־���ļ�����ͷŵ�ϵͳ����ȷ�ij������ָ����һ����Ŀ¼�� ������ڵ�ǰĿ¼������Ŀ¼����Ϊȷ�������������ض�ƽ̨�йصĸ�ʽ��������Ҫ�� ��һ���ļ���·����ʱ�����Ǿ�ʹ��File��������⣬����һ���ر�İ�ȫ��ʩ ����ÿ����Ŀ¼�ﶼ����һ�����ļ����Ǹ��ļ�������ָ�����Ǹ���Ŀ¼��Ӧ�ҵ����� ���ļ��� ����������Ĵ��룬�������������ϸ��˵���� 959-968ҳ���� ����ע�package����Ѿ���Ϊע�ͱ�־�����ˡ��������DZ��µĵ�һ����������p ackage����DZ���ģ��������CodePackager�ѸĻ�����һ�¡����ǰ���������ȴ�� ��Ϊһ�����⡣�����Ǵ���һ�����ʱ����Ҫ��������ͬһ���ض���Ŀ¼�ṹ��ϵ ��һ����һ�����Ա���Ĵ�������Ӷ������õġ��������CodePackager������� ��һ��ר�õ�Ŀ¼���������У�����package�����Ϊע�ͱ�dz�ȥ������ CodePack ager��˵������������Ȼ��һ����ͨ��package��䣬��Ϊ�������ر��ӣ��� ����鵽����ע�ͣ�û�б�Ҫ������ô���ӣ�����ֻҪ����У��� ͷ�������ǡ�֧�֣����ߡ��࣬������ʹ����ʣ��IJ����ڱ�дʱ������ᣬҲ����� �Ķ�����һ����Pr��������ANSI C��perror�⣬���߶��ܴ�ӡ��һ��������ʾ��Ϣ���� ͬʱҲ���˳������ڶ����ཫ�ļ��Ĵ�����̷�װ���ڣ����������ڵ�10�½��� ���ˣ�����Ѿ�֪�����������ܿ�ͻ��÷dz������鷳��Ϊ���������⣬��10�� �ṩ�ķ�������������Ĵ����������ġ���̬�������Ѿ�ʹ�ù��ˡ�����Щ�����У� ���Υ��ᱻ������Ӧ�ؽ��д��?��Щ����ʹʣ��Ĵ����Եø����ˬ������ �Ķ��� ����������ĵ�һ������SourceCodeFile��Դ���ļ��������?��һ��Դ���ļ��� ����������Ϣ�����ݡ��ļ����Լ�Ŀ¼������ͬʱ������һϵ��String����ֱ�� ��һ���ļ��Ŀ�ʼ������ڴ���ļ���ʹ�õ�һ����ǣ���ǰϵͳ�Ļ��з��ļ�· ���ָ���ע��Ҫ�� System.getProperty()��鱾�ذ汾��ʲô�����Լ�һ��ΰ�Ȩ�� �������Ǵ��������Copyright.txt�ļ�����ȡ�����ģ� 969-967ҳ���� ��һ������ļ�����ȡ�ļ�ʱ����������ϵͳ���ļ��ָ���Ҳ���ע�������Ա��ñ��� ϵͳ���õķ���滻�� ��ǰ�µ���Ŀ¼������chapter�ֶ��У����ʼ����c02����ҿ�ע��һ�µ�2�µ��б��� ��û�а�һ�������䣩��ֻ���ڵ�ǰ�ļ����һ��package��������ʱ��cha pter�ֶβŻᷢ��ı䡣 1. ����һ������ļ� ��һ�����������ڴӱ����ASCII�ı�������ȡ��һ���ļ����������õĴ��루���б��� ����ĵط�������벢���ÿһ�У�ֱ���ҵ���һ���б�Ŀ�ͷ����Ϊֹ�������ʱ ����ͻ��½�һ��SourceCodeFile������һ�е����ݣ��Ѿ��ɵ��ô�������ˣ� ���ݸ���ͬʱ��Ҫ���� BufferedReader�����Ա����������������ȡԴ���б�ʣ�� �����ݡ� ����ʱ�𣬴�һᷢ��String������Ƶ�����á�Ϊ��ȡ���ļ��������substring()�� ���ذ汾�������һ����ʼƫ�ƿ�ʼ��һֱ�����ִ���ĩβ���Ӷ��γ�һ�����Ӵ����� Ϊ��������ʼ������Ҫ��length()�ó�startMarker���ܳ�������trim()ɾ���ִ�ͷ β����Ŀո�һ�����ļ����Ҳ������һЩ�ַ���������indexOf()�������ġ� ��û�з����ҵ�������Ѱ�ҵ��ַ�ͷ���-1�����ҵ���Щ�ַ�ͷ������ǵ�һ�γ� �ֵ�λ�á�ע����Ҳ��indexOf()��һ�����ذ汾������һ���ִ���Ϊ������һ���� �� ��������������ļ����һ�лᱻ�����ִ�contents�У����ִ����ڱ���Դ���嵥 ���������ģ������ʣ��Ĵ����ж��룬���ϲ����� contents�ִ�����Ȼ���鲢û ���������ô����Ϊ�ض������������ر�Ŀ��ơ�һ������Ǵ����飺��ֱ�� ����һ��startMarker����ʼ��ǣ���������ǰ��������������б�û������һ������� �ǡ�������һ��������������Ҫ�˳����� ��һ�����������package�ؼ����йء�����Java��һ��������ʽ�����ԣ����������Ҫ ��package�ؼ��ֱ���λ�����ס�������package �ؼ��֣���ͨ����λ�ڿ�ͷ�Ŀո��� ��λ��ĩβ�ķֺţ��Ӷ���ȡ������ע�����һ�ε����IJ���ʵ�֣�������ʹ�ù��� ��substring()������ͬʱ�����ʼ�ͽ�������λ�ã�����������еĵ���滻���� �����ļ��ָ�����Ȼ������Ҫ�����ļ��ָ������һ���ַ�ij��ȡ������������ ���ܶ�Ŀǰ������ϵͳ�������õģ���һ���������⣬һ����Ҫ���˼��һ����� Ĭ�ϲ����ǽ�ÿһ�ж����ӵ�contents�ͬʱ���л����ַ�ֱ������һ��endMarke r�������ǣ�Ϊֹ���ñ��ָ��������Ӧ��ֹͣ�ˡ�����endMarker֮ǰ�������ļ��� β������Ϊ����һ������ 2. �Ӵ���ļ�����ȡ �ڶ������������ڽ�Դ���ļ��Ӵ���ļ��лָ�����ȡ���������������Ϊ�����ߵ� �������ص��Ļ����һЩ�м��ı�������ļ���������Դ���ļ������������ܵ� ����һ����Ҫ���ݸ�ù������Ľ�����һ��BufferedReader�������š���ϢԴ���� �������������ȡ���Լ���Ҫ����Ϣ������ÿ�������б?ʼ�ĵط�����һЩ������Ϣ �����ǵ��������packMarker������ǣ�ָ���ġ���packMarker�����ڣ���ζ�ŵ��� ����ͼ�ô���ķ�����ʹ������������� һ������packMarker���ͻὫ��������������ȡ��Ŀ¼����һ��'#'��β���Լ��ļ� ��ֱ����ĩ������������������£��ɷָ���ᱻ�滻�ɱ������õ�һ���ָ��� ������String replace()����ʵ�ֵġ��ϵķָ������ڴ���ļ��Ŀ�ͷ���ڴ����б� �Կ����һ���ּ��ɿ�������ΰ�����ȡ�����ġ� ������ʣ�µIJ��־ͷdz����ˡ������ÿһ�У�����ϲ���contents�ֱ������en dMarkerΪֹ�� 3. �����б�Ĵ�ȡ ��������һϵ�з����Ǽķ�������directory()��filename()��ע�ⷽ���������ֶ� ����ͬ��ƴд�ʹ�Сд��ʽ����contents()����hasFile()����ָ����������Ƿ���� һ���ļ����ܿ�ͻ�֪��Ϊʲô��Ҫ������� ���������������ڽ���������б�д��һ���ļ�����Ҫôͨ��writePacked()д��һ�� ����ļ���Ҫôͨ��writeFile()д��һ�� JavaԴ���ļ���writePacked()��Ҫ��Ψһ�� ������DataOutputStream�������ڱ�ĵط��ģ��������д����ļ������Ȱ�ͷ ��Ϣ�����һ�У��ٵ���writeBytes()��contents�����ݣ�д��һ�֡�ͨ�á���ʽ�� ��дJavaԴ���ļ�ʱ�������Ȱ��ļ����á�������IO.psOpen()ʵ�ֵġ�������Ҫ���� ����һ��File�������в��������ļ���Ҳ����·����Ϣ�������ڵ������ǣ��� ��·��ʵ�ʴ������û����ܾ���������Դ��Ŀ¼������һ����ȫ��ͬ����Ŀ¼���Ǹ� Ŀ¼�������в����ڵġ���������ʽдÿ���ļ�֮ǰ����Ҫ����File.mkdirs()�������� ��������������д���ļ���Ŀ¼·�������һ���Խ������·���� 4. �����б�İ��� ����Ŀ¼����ʽ��֯�����б��Ƿdz�����ģ�������Ҫ�������ڴ��н��������б?֮ ����Ҫ��������������һ������˵������ԭ��Ϊ�˹����������ϵͳ��Ҳ����˵ ���ڴ��������б��ÿ����Ŀ¼ʱ���������һ��������ļ���������ְ����Ǹ�Ŀ ¼��Ӧ�е��ļ���Ŀ�� DirMap��ɰ�������ʵ����һЧ����Ч����ʾ��һ��������ӳ�䡱�ĸ���������ͨ ��һ��ɢ�б?Hashtable��ʵ�ֵģ���ġ���������������Ŀ¼����ֵ���ǰ� ���Ǹ��ض�Ŀ¼�е�SourceCodeFile�����Vector�������ԣ�����������ǽ�һ ������ӳ�䣨���Ӧ����һ��ֵ������ͨ���Ӧ��Vector����һ�������ӳ�䡱�� һϵ��ֵ���������������ƺ��ܸ��ӣ�������ʵ��ʱȴ�Ƿdz���ֱ�ӵġ���ҿ��� ������ DirMap��Ĵ������붼�����ļ��е�д���йأ�����롰����ӳ�䡱�йء��� ���йصĴ������������ѡ� ��ͨ�����ַ�ʽ����һ��DirMap��Ŀ¼ӳ����Ӧ����ϵ��Ĭ�Ϲ������ٶ�����ϣ��Ŀ ¼�ӵ�ǰλ������չ��������һ��������������Ϊ��ʼĿ¼ָ��һ�����õġ���ԡ�· ���� add()������һ����ȡ���ж��Ƚ��ܼ��ij������Ƚ�directory()����������ӵ�Sour ceCodeFile����ȡ������Ȼ����ɢ�б?Hashtable�������������Ƿ��Ѿ������Ǹ� �����û�У�����ɢ�б����һ���µ�Vector��������ͬ�Ǹ��������һ�𡣵���ʱ �����ܲ�ȡ����ʲô;����Vector���Ѿ���λ�ˣ����Խ�����ȡ�������Ա����Source CodeFile������Vector��������ͬɢ�б?��غϲ���һ���������Ǵ������涼�ܸ� ���÷dz����㡣 дһ������ļ�ʱ�����һ����д����ļ�������DataOutputStream��ʹ��� ���С�ͨ�á��ԣ������ڵ�һ��д�����ϵķָ����йص�ͷ��Ϣ�����Ų����Hashtabl e���һ��Enumeration��ö�٣������������У�ѡ��ÿһ��Ŀ¼����ȡ�����Ǹ�Ŀ¼�� �ص�Vector��ʹ�Ǹ� Vector�е�ÿ��SourceCodeFile����д�����ļ��С� ��write()��JavaԴ���ļ�д�����Ƕ�Ӧ��Ŀ¼ʱ�����õķ���������writePackedFile ()��ȫһ�£���Ϊ����������ֻ����� SourceCodeFile���ʵ��ķ������������ ��·���ᴫ�ݸ�SourceCodeFile.writeFile()�������ļ���д�ú�������ָ������д �ļ��������Ǹ������ļ�Ҳ�ᱻд�롣 5. ������ ǰ����ܵ���Щ�Ҫ��CodePackager���õ���������ȿ��������÷��ִ���һ������ �û�����ȷ�ص����˳��ͻ��ӡ��������ȷ�÷�������ִ�����������ִ�����us age()������ͬʱ��Ҫ�˳�����main()Ψһ����������ж�����ϣ��һ������ļ� ������ϣ���һ������ļ�����ȡʲô�������������֤ʹ�õ�����ȷ�IJ��� �������ʵ��ķ����� ����һ������ļ�ʱ����Ĭ��λ�ڵ�ǰĿ¼������������Ĭ�Ϲ���������DirMap���� �ļ������е�ÿһ�ж�����룬������Ƿ�������������� (1) ��������һ������Դ���б����ʼ��ǣ����½�һ��SourceCodeFile�������� �����Դ���б�ʣ�µ��������ݡ�������ľ��ֱ�Ӽ���DirMap�� (2) ��������һ������Դ���б�Ľ����ǣ�����ij���ط����ִ�����Ϊ������Ӧ ��ֻ����SourceCodeFile���������֡� ��ȡ���ͷ�һ������ļ�ʱ����ȡ���������ݿɽ��뵱ǰĿ¼����ɽ�����һ������Ŀ ¼��������Ҫ��Ӧ�ش���DirMap�����ļ���������һ�ж��롣�ϵ��ļ�·���ָ� ����Ϣ������һ������ȡ�����������������������һ��SourceCodeFile������� ����DirMap��ֻҪ����һ���ļ����µ�SourceCodeFile����ͻᴴ�������루������ ���һ���ù��������ݺ�ط��أ�Ȼ��hasFile()�᷵��һ������ 17.1.2 ����Сд��ʽ ���ܶ��漰���ִ����һЩ��Ŀ��˵��ǰ���ԵñȽϷ��㣬������Ҫ���ܵ���Ŀȴ���� ���������ã���Ϊ��ִ�е���һ����ʽ��飬��ȷ�����ǵĴ�Сд��ʽ��� ����ʵ�ϡ� ��Java��ʽ��������ڵ�ǰĿ¼�д�ÿ��.java�ļ�������ȡ�����������Լ���ʶ�� ���������в����Java��ʽ���������������������档 Ϊ�������������ȷ���У����ȱ��빹��һ����������Ϊһ�����ֿ⡱���������� ��Java���е���������Ϊ�ﵽ���Ŀ�ģ���������ڱ�Java�������Դ����Ŀ¼ ������ÿ����Ŀ¼������ClassScanner�����ڲ������ṩ�ֿ��ļ������֣�ÿ�ζ��� ��ͬ��·�������֣��������п���-a��ָ������Ӧ����ӵ��òֿ��ļ��С� Ϊ���ó������Լ��Ĵ��룬��Ҫ�����������Ҫʹ�õIJֿ��ļ���·�������� ������鵱ǰĿ¼�е�������ͱ�ʶ������������Щû�����ص��͵�Java��дд �淶�� Ҫע�����������ʮȫʮ���ġ���Щʱ������ܱ����Լ��鵽һ�����⡣������ ����ϸ�������ʱ��ȴ����û��ʲô��Ҫ��ĵġ��������е���ˣ����Ա��Լ� ���ּ������е����д���ǿ�öࡣ �����г�Դ���룬��������ϸ�Ľ��ͣ� 974-980ҳ���� MultiStringMap���Ǹ�����Ĺ��ߣ��������ǽ�һ���ִ���ÿ�������Ӧ��ӳ�䣩���� ����ǰ��һ������Ҳʹ����һ��ɢ�б?Hashtable����������������˼̳С���ɢ�� �?����Ϊӳ���ΪVectorֵ�ĵ�һ���ִ��Դ�add()���������úܼ�������ɢ �б����Ƿ����һ���������ڣ��������з���һ����getVector()����Ϊһ���ض� �ļ����һ��Vector����printValues()������ֵ���Vector�ش�ӡ��������Գ���ĵ� �Էdz����á� Ϊ�������Ա�Java�������ȫ������һ��Properties�����ԣ������У����Ա� Java�⣩����סProperties����ʵ���Ǹ�ɢ�б?����ֻ���������ڼ��ֵ���Stri ng����Ȼ�����һ�η������ã����Ǽ��ɰ���浽���̣����ߴӴ����лָ���ʵ�� �ϣ�����ֻ��Ҫһ�������б?����Ϊ���ֵ��ʹ������ͬ�Ķ��� ����ض�Ŀ¼�е��ļ���Ϊ�ҳ���Ӧ�������ʶ������ʹ��������MultiStringMap�� classMap�Լ�identMap�������ڳ���������ʱ����Ὣ������ֿ�װ�ص���Ϊclas ses��Properties�����С�һ���ڱ���Ŀ¼������һ��������Ҳ�Ὣ�����classes�� �� classMap������һ����classMap�Ϳ������ڱ���Ŀ¼��������������ҿ���cla sses��鵱ǰ����Dz���һ�����������Ŷ��������Ŀ�ʼ�������ռ�����ȥ �ļǺš���ֱ������һ���ֺš����������Ƕ�����identMap���� ClassScanner��Ĭ�Ϲ������ᴴ��һ�����ļ���ɵ��б?����FilenameFilter��Ja vaFilterʵ����ʽ���μ��10�£�������Ϊÿ���ļ������scanListing()�� ��scanListing()�ڲ������Դ���ļ���������ת����һ��StreamTokenizer�����Ja va�����ĵ�����true���ݸ� slashStartComments()��slashSlashComments()�ı���Ӧ�� �ǰ�����Щע�����ݣ����������ƺ���Щ���⣨��Java 1.0�м�����Ч���������෴�� ��Щ�б�����ע�ͱ�dz�ȥ��������һ����������ȡע�͡�Ϊ�ﵽ���Ŀ�ģ�'/'������ Ϊһ��ԭʼ�ַ������ StreamTokeinzer���䵱��ע�͵�һ���ֶԴ��ʱҪ ��ordinaryChar()����ָʾStreamTokenizer��ȡ��ȷ�IJ�����ͬ��ĵ���Ҳ�����ڵ�� ��'.'������Ϊ����ϣ���÷������÷���������ı�ʶ�����»�����˵��������DZ� StreamTokenizer����һ���������ַ�Դ�ģ�����ʱӦ����������ʶ���һ���֣���Ϊ ����static finalֵ����TT_EOF�ȵ���ʽʹ�á���Ȼ����һ��ֻ��Ŀǰ�������ij��� ������wordChars()������Ҫȡ����������ӵ�һϵ���ַ������������Ϊһ�����ʿ� ��ļǺ��С�����ڽ�������ע�ͻ��߷���һ�е�ʱ��������Ҫ֪��һ�����ж��� ʲôʱ��������ͨ����� eollsSignificant(true)�����з�EOL���ᱻ��ʾ���� �����DZ�StreamTokenizer���ա� scanListing()ʣ��IJ��ֽ�����ͼ��Ǻţ�ֱ���ļ�β��һ��nextToken()����һ�� final staticֵ����StreamTokenizer.TT_EOF���ͱ�־���Ѿ��ִ��ļ�β���� ���Ǻ��Ǹ�'/'����ζ��������Ǹ�ע�ͣ����Ծ͵���eatComments()��������������� ���?���������Ψһ����Ȥ��������������Ƿ�Ϊһ�����ʣ���Ȼ�����ܴ�����һЩ ��������� ������class���ࣩ��interface���ӿڣ�����ô���ŵļǺž�Ӧ�����һ������ �����֣�����������classes��classMap����������import����package����ô���Ƕ��� һ��ʣ�µĶ�����ûʲô��Ȥ�ˡ��������ж����϶���һ����ʶ���������Ǹ���Ȥ�� ����������һ���ؼ��֣��Դ˲�����Ȥ�������Dz��õĿ϶���Сд��ʽ�����Բ�����ʦ ���ڵؼ�����ǣ������ǽ����뵽identMap�� discardLine()������һ���Ĺ��ߣ����ڲ�����ĩλ�á�ע��ÿ�εõ�һ���¼Ǻ�ʱ ������������ĩ�� ֻҪ��������ѭ��������һ����б�ܣ��ͻ����eatComments()������Ȼ���Ⲣ����ʾ �϶�������һ��ע�ͣ����Ա��뽫���ŵļǺ���ȡ�������������һ����б�ܣ���ô�� һ�лᱻ��������һ���Ǻš����������߶����ǣ���ζ�ű�����������ѭ���н��� ��ȡ���ļǺ��ͻ�ȥ�����˵��ǣ�pushBack ()�����������ǽ���ǰ�Ǻš�ѹ�ء������� ������������������ѭ������nextToken()��ʱ��������ȷ�صõ��ղ��ͻصĶ����� Ϊ�������classNames()����������һ�����飬���а���classes�����е��������� ���������δ�ڳ�����ʹ�ã����Դ���ĵ��Էdz����á� ������������������ʵ�ʽ��м��ĵط�����checkClassNames()�У������classMap�� ȡ���������ס��classMapֻ�������Ŀ¼�ڵ����֣����ǰ��ļ�����֯�������ļ� ����ܰ������������ӡ��������Ϊ������һ�㣬��Ҫȡ��ÿ��������Vector������ �����У�����һ���ַ��Ƿ�ΪСд����ȷʵΪСд�����ӡ����Ӧ�ij�����ʾ��Ϣ�� ��checkIdentNames()�У����Dz�����һ�����Ƶķ�����ÿ����ʶ�����ֶ���identMap�� ��ȡ������������ֲ���classes�б��У�����Ϊ����һ����ʶ����߹ؼ��֡���ʱ��� ��һ���������������ʶ��ij��ȵ���3���߸���������ַ��Ǵ�д�ģ������ �˱�ʶ����Ϊ�������һ��static finalֵ������TT_EOF����Ȼ���Ⲣ����һ������ ���㷨������ٶ��������ջ�ע��κ�ȫ��д��ʶ���Dz����ʵġ� ������������DZ���ÿһ���Դ�д�ַ�ͷ�ı�ʶ����Ǹ�����Щ����һ����Ϊrepo rtSet()��Vector�б����ġ���Vector����һ�� �����ϡ��Դ��������һ����Ŀ �Ƿ������Ǹ������С�����Ŀ��ͨ���ļ���ͱ�ʶ������������ɵġ���Ԫ�ز��ڼ� ���У��ͼ�����Ȼ�����档 �����б�ʣ�µIJ�����main()���ɣ�������������в����ж����������ڱ� Java��Ļ��Ϲ�����һϵ������ɵġ��ֿ⡱������������д�õ���Щ������� ȷ�ԡ���������������£����ᴴ��һ��ClassScanner���� ����������һ�����ֿ⡱��������ʹ��һ���ֳɵģ������볢�Դ����вֿ⡣ͨ ��һ��File�������Ƿ���ڣ��Ϳɾ����Ƿ���ļ����� ClassScanner��װ�� classes���Properties�б?ʹ��load()�������Բֿ���ཫ�ӵ���ClassScanner�� �������ֵ�����棬���ǽ��串�ǡ������ṩһ�������в������ζ���Լ���� ����ͱ�ʶ�����ֽ���һ�μ�顣�������ṩ��������ڶ�����"-a"�����ͱ����Լ� �빹��һ������ֿ⡣����������£���Ҫ��һ������ļ�������Properties.save( )�������б�д��һ���ļ���ͬʱ��һ���ִ��ṩ�ļ�ͷ��Ϣ�� 17.2 �������ҹ��� ��11�½�����Java 1.1�µġ����䡱�����������������ѯһ���ض���ķ������� Ҫô�������з������ɵ�һ�������б?Ҫô������б��һ���Ӽ�������������ָ�� �Ĺؼ�������Ǹ��������ĺô��������Զ���ʾ�����з�������ǿ�������ڼ̳� �ṹ�б�����ÿһ���Ļ��ࡣ���ԣ���ʵ�������ǽ�ʡ���ʱ���һ����Ч���� ����Ϊ�����Java���������ֶ��涨�÷dz�ȫ����꾡����������Ч���ҳ���Щ���� һ������ؼ��ֵķ��������ҵ���ϱ���һ�����֣���ɸ����ֱ�Ӳ���������� �ĵ��� ����11���Ǹ�����Ҳ��ȱ�ݣ���û��ʹ��AWT������һ���������е�Ӧ�á���������� ������һ���Ľ��GUI�汾���������Ǽ����ַ��ʱ���Զ�ˢ�������Ҳ������������ ������н��м��к�ճ������� 983-987ҳ���� �����е���Щ����������ǰ��ʶ���ˡ��ͱ�������GUI����һ����ȿ���Ϊһ������ ��Ӧ�ó���ʹ�ã������Ϊһ������Ƭ��Applet��ʹ�á����⣬StripQualifiers������ �ڵ�11�µı�������ȫһ��ġ� GUI����һ����Ϊname�ġ��ı��ֶΡ���TextField��������������������ҵ����� ��������һ���ı��ֶΣ���ΪsearchFor����ѡ���Ե�����������һ�������֣�ϣ���� �����б��в�����Щ���֡�Checkbox����ѡ����������ָ������ϣ���������ʹ���� ������֣����ǽ�ǰ��ĸ�������Ϣɾȥ��������ʾ��һ�����ı�����Te xtArea���С� ��һ�ע��������δʹ���κΰ�ť��������������������ǿ�ʼһ�������������� �������ı��ֶλ��Ǹ�ѡ���ܵ����ǵġ������ߣ�Listener������ļ��ӡ�ֻҪ�� ��һ��ı䣬����б����������¡����ı���name�ֶ��е����֣��µ����־ͻ���Na meL���в��������ֲ�Ϊ�գ����� Class.forName()�����ڳ��Բ����ࡣ��Ȼ�������� �����ڼ䣬���ֿ��ܻ��ò������Class.forName()��ʧ�ܣ�����ζ����� ������ ��һ��Υ���Υ��ᱻ����TextArea����֮��Ϊ��Nomatch����û�������ֻҪ ������һ����ȷ�����֣���СдҲ�����ڣ��� Class.forName()�ͻ�ɹ�����getMetho ds()��getConstructors()��ֱ���Method�� Constructor���ɵ�һ�����顣�� Щ�����е�ÿ������ͨ��toString()ת���һ���ִ�����������������ķ����� ������ǩ�����������б?��ϲ���n�С���һ���������ִ����顣����n����Disp layMethods���һ���Ա�����ڵ���reDisplay()ʱ������ʾ�ĸ��¡� ���ı���Checkbox��searchFor��������ǵġ������ߡ���ص���reDisplay()��re Display()�ᴴ��һ����ʱ���飬���а�����Ϊrs���ִ���rs��?�������Res ult Set�������Ҫôֱ�Ӵ�n���ƣ�û��find�ؼ��֣���Ҫôѡ���ԵشӰ���find �ؼ��ֵ�n�е��ִ����ơ�������strip Checkbox�������û��Dz���ϣ�������ж� ��IJ���ɾ��Ĭ��Ϊ���ǡ����������ǿ϶��ģ�����StripQualifiers.strip()���� �����飻��֮���ͽ��б����ʾ������ ��init()�У����Ҳ����Ϊ�����ò���ʱ��Ҫ���д������صĹ�������ʵ�ϣ�����IJ� ����ȫ����ֻ��Ҫ���ٵĹ�������������ʹ�� BorderLayout�ĺô����������û��ı䴰 �ڵĴ�С�����ر���ʹTextArea���ı������һЩ������ζ�����ǿ��Ըı��С�� �Ա�����������ɿ���������֡� ���ʱ����һᷢ���ر��б�Ҫ��������ߴ�������״̬����Ϊ����ͼ�ж�Ҫ����ʲô ������ʱ�����ṩ����õķ���֮һ�� 17.3 ���������� ����Ҫ���ܵij����ǰ������Larry O'Brienԭ����һЩ���룬������Craig Reynolds�� 1986����Ƶġ�Boids������Ϊ����ʱ��Ϊ����ʾ���������۵�һ���������⣬��Ϊ ���ԡ���Emergence���� ���Ҫ�ﵽ��Ŀ����ͨ��Ϊÿ�ֶ��ﶼ�涨����Ĺ��Ӷ��������ֶ����Ⱥ ����Ϊ��ÿ�����ﶼ�ܿ���������������Լ������е����������ֻ��һϵ�и��� �ġ�Ⱥ�ۻ�顱����������ƶ��������������Ϊ�� (1) �ָ������Ȿ��Ⱥ�ۻ�����ӵ���� (2) ������ӱ���Ⱥ�ۻ����ձ鷽�� (3) �ۺϣ�������Ⱥ�ۻ����������ƶ��� ���ӵ�ģ�������������ϰ�������أ�������Ԥ֪�ͱ������ϰ���ͻ������������ ������Χ�ƻ����еĹ̶��������ɻ��������⣬����Ҳ�������Լ�������Ŀ�꣬�� Ҳ������Ⱥ�尴�ض���·��ǰ��Ϊ�����ۣ������ϰ��Լ�Ŀ����Ѱ�����ز�δ�� �������ィ����ģ���С� ���ܼ������Ƚϼ�ª�����Ҳ��õĹ���Ҳ�൱���������������ʵ�ġ�Ҳ�� ��˵���൱�������Ϊ�������ģ���С��ԡ������ˡ� �����Ժϳɵ�һ���Ӧ�ó�����Ƭ����ʽ�ṩ�� 989-995ҳ���� �����Ⲣ�Ƕ�Craig Reynold�ġ�Boids�������е���Ϊ�������֣�����ȴչ�ֳ����Լ� ���е�����֮�⡣ͨ������ֽ��е����ɽ���ȫ����ġ�����������Ⱥ����Ϊ�� �صĸ����������ҿ��Է���Craig Reynold����ҳ�������Ǹ��ط����������ṩ��B oidsһ��������3Dչʾ�汾�� http://www.hmt.com/cwr/boids.html Ϊ�˽����������Ϊһ������Ƭ���У�����HTML�ļ���������������Ƭ��־�� 995ҳ�г��� 17.4 �ܽ� ͨ���µ�ѧϰ�����֪������Java������һЩ�ϸ��ӵ����顣ͨ����Щ������ɿ��� ������Java�ض����Լ��ľ��ޣ�������Щ����Ӱ�����Ҫ�����ܣ�����д�����ִ���� ��ᷢ��C++�İ汾Ҫ��öࡪ���ⲿ��������IO�����ò�������ɵģ���������� �����ʱ�����Ҳ���ѷ����˱仯����Java�ľ���Ҳ���˶��ѣ��������Ա�﷽��� �����������ױȵġ�����Java���������Ա���������õ����κ����顣�����ͬʱ�� Java�ڱ��ķ����Ժ������ϣ�Ҳ�����˹���������ʹ��Javaʱ��һ�㲻�������� �����Գ�������ָ��Ӿ��ء�ʹ����Щ����ʱ����о�������һ������߶����̫�ţ��� ��Java�����崿������������ͨ��Java 1.2��JFC/Swing�⣬AWT�ı���������������� ���ֵõ��˽�һ������ǿ�� 17.5 ��ϰ (1) ������Щ�Ѷȣ���дFieldOBeasts.java��ʹ���״̬�ܹ����̶ֹ�������һЩ�� ť�������û�����ͻָ���ͬ��״̬�ļ����������Ƕϵ��ĵط���ʼ�������С����Ȳ� ����10�µ�CADState.java���پ��������������� (2) ������ҵ����FieldOBeasts.java��Ϊ��㣬����һ���Զ�����ͨ����ϵͳ�� (3) ������ҵ����ClassScanner.java��Ϊ��㣬����һ������Ĺ��ߣ������ҳ���Щ�� Ȼ���嵫��δ�ù�ķ������ֶΡ� (4) ������ҵ������JDBC������һ�����������������������һ��ƽ���ļ���ݿ� Ϊ�����а������֡���ַ���绰���롢E-mail��ַ����ϵ���ϡ�Ӧ��������ݿ� �﷽��ؼ��������֡�����Ҫ���ҵ�����ʱ��������ڵ�15�µ�VLookup.java����ܹ� �����������Զ���似���� -- "` O| " jVHT T ~ "" " [m[1;35m�� ��Դ:���ɽ��ˮ bbs.neu.edu.cn��[FROM: 219.216.70.3][m
Technical Details
Message-ID:
<492eHD$CW_@bbs.neu.edu.cn>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!peer1.news.newnet.co.uk!peer1.news.newnet.co.uk!nntp.theplanet.net!inewsm1.nntp.theplanet.net!195.40.4.120.MISMATCH!easynet-quince!easynet.net!news.neu.edu.cn!NEUShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: f6cb0,5f53d5a925043e25,start X-Google-Attributes: gidf6cb0,public X-Google-ArrivalTime: 2003-10-27 17:51:13 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!peer1.news.newnet.co.uk!peer1.news.newnet.co.uk!nntp.theplanet.net!inewsm1.nntp.theplanet.net!195.40.4.120.MISMATCH!easynet-quince!easynet.net!news.neu.edu.cn!NEU From: amou.bbs@bbs.neu.edu.cn (�˺�2��) Newsgroups: cn.bbs.comp.lang.java Subject: Java���˼��---��17�� ��Ŀ Date: 28 Oct 2003 01:50:04 GMT Organization: ��ɽ��ˮ Message-ID: <492eHD$CW_@bbs.neu.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: java/M.1067305789.A Lines: 357