.


:




:

































 

 

 

 


Scanner(ReadableByteChannel source, String charset)




Scanner(String source),

source , charset .

Scanner , , . , ( ). :

Scanner con = new Scanner(System.in);

, , :

write(con.hasNextInt()) {

int n = con.nextInt();

}

Scanner , . hasNext(). boolean hasNext () boolean hasNext (int radix), radix . , hasNextInt() true, . , next (). String next(). .

// # 10: : ScannerLogic.java: ScannerDemo.java

package chap09;

import java.io.*;

import java.util.Scanner;

 

class ScannerLogic {

static String filename = "scan.txt";

public static void scanFile() {

try {

FileReader fr =

new FileReader(filename);

Scanner scan = new Scanner(fr);

while (scan.hasNext()) { //

 

if (scan.hasNextInt())

System. out. println(

scan.nextInt() + ":int");

else if (scan.hasNextDouble())

System. out. println(

scan.nextDouble() + ":double");

else if (scan.hasNextBoolean())

System. out. println(

scan.nextBoolean() + ":boolean");

Else

System. out. println(

scan.next() + ":String");

}

} catch (FileNotFoundException e) {

System. err. println(e);

}

}

public static void makeFile() {

try {

FileWriter fw =

new FileWriter(filename); //

fw.write("2 Java 1,5 true 1.6 "); //

fw.close();

} catch (IOException e) {

System. err. println(e);

}

}

}

public class ScannerDemo {

public static void main(String[] args) {

ScannerLogic. makeFile ();

ScannerLogic. scanFile ();

}

}

:

Int

Java:String

Double

true:boolean

String

hasNext (). - , , . next() nextLine().

Scanner , . useDelimiter(Pattern pattern) useDelimiter(String
pattern)
, pattern .

/* # 11: : ScannerDelimiterDemo.java*/

package chapt09;

import java.util.Scanner;

public class ScannerDelimiterDemo {

public static void main(String args[]) {

double sum = 0.0;

 

Scanner scan =

new Scanner("1,3;2,0; 8,5; 4,8; 9,0; 1; 10");

scan.useDelimiter(";\\s*");

while (scan.hasNext()) {

if (scan.hasNextDouble())

sum += scan.nextDouble();

else System. out. println(scan.next());

}

System. out. printf(" = " + sum);

}

}

}

:

= 36.6

"; *" Scanner, ; .

String findInLine(Pattern pattern) String
findInLine(String pattern)
. , . , null.

String findWithinHorizon(Pattern pattern, int count) String findWithinHorizon(String pattern, int count) count . skip(Pattern pattern).

, pattern, skip() . , skip() NoSuchElementException.

Java Java jar -.

Java java.util.zip java.util.jar zip jar. jar zip zip. java.util.jar java.util.zip, void putNextEntry(ZipEntry e) JarOutputStream. java.util.jar. zip -,
Jar Zip.

java.util.jar , jar, .

JarEntry ( ZipEntry) jar -. :

void setMethod(int method) ;

int getMethod() ;

void setComment(String comment) ;

String getComment() ;

void setSize(long size) ;

long getSize() ;

long getCompressedSize() ;

JarOutputStream jar -. write() , , , . :

void setLevel(int level) . , ;

void putNextEntry(ZipEntry e) jar -. JarEntry ;

void closeEntry() jar - ;

void write(byte b[], int off, int len) b off len ;

void finish() jar - ;

void close() .

/* # 12: jar-: PackJar.java */

package chapt09;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.jar.JarEntry;

import java.util.jar.JarOutputStream;

import java.util.zip.Deflater;

 

public class PackJar {

public static void pack(String[] filesToJar,

String jarFileName, byte [] buffer) {

try {

JarOutputStream jos =

new JarOutputStream(

new FileOutputStream(jarFileName));

//

jos.setLevel(Deflater. DEFAULT_COMPRESSION);

for (int i = 0; i < filesToJar.length; i++) {

System. out. println(i);

jos.putNextEntry(new JarEntry(filesToJar[i]));

 

FileInputStream in =

new FileInputStream(filesToJar[i]);

int len;

while ((len = in.read(buffer)) > 0)

jos.write(buffer, 0, len);

jos.closeEntry();

in.close();

}

jos.close();

} catch (IllegalArgumentException e) {

e.printStackTrace();

System. err. println(" ");

} catch (FileNotFoundException e) {

e.printStackTrace();

System. err. println(" ");

} catch (IOException e) {

e.printStackTrace();

System. err. println(" ");

}

}

public static void main(String[] args) {

System. out. println(" jar-");

//

String[] filesToJar = new String[2];

filesToJar[0] = "chapt09//UseJar.java";

filesToJar[1] = "chapt09//UseJar.class";

byte [] buffer = new byte [1024];

//

String jarFileName = "example.jar";

pack (filesToJar, jarFileName, buffer);

}

}

JarFile , jar -. , , . , . entries () jar -. JarEntry jar - . getEntry(String name) . getInputStream() . , .

JarInputStream jar - . read() , , , .

/* # 13: jar-: UnPackJar.java */

package chapt09;

import java.io.*;

import java.util.Enumeration;

import java.util.jar.JarEntry;

import java.util.jar.JarFile;

 

public class UnPackJar {

private File destFile;

//

public final int BUFFER = 2048;

 

public void unpack(String destinationDirectory,

String nameJar) {

File sourceJarFile = new File(nameJar);

try {

File unzipDestinationDirectory =

new File(destinationDirectory);

// zip-

JarFile jFile = new JarFile(sourceJarFile);

Enumeration jarFileEntries = jFile.entries();

while (jarFileEntries.hasMoreElements()) {

//

JarEntry entry =

(JarEntry) jarFileEntries.nextElement();

 

String entryname = entry.getName();

//entryname = entryname.substring(2);

System. out. println("Extracting: " + entry);

destFile =

new File(unzipDestinationDirectory, entryname);

//

File destinationParent =

destFile.getParentFile();

//

destinationParent.mkdirs();

// ,

if (!entry.isDirectory()) {

writeFile(jFile, entry);

}

}

jFile.close();

} catch (IOException ioe) {

ioe.printStackTrace();

}

}

private void writeFile(JarFile jFile, JarEntry entry)

throws IOException {

BufferedInputStream is =

new BufferedInputStream(

jFile.getInputStream(entry));

int currentByte;

byte data[] = new byte [BUFFER];

//

BufferedOutputStream dest =

new BufferedOutputStream(

new FileOutputStream(destFile), BUFFER);

 

while ((currentByte = is.read(data, 0, BUFFER)) > 0){

dest.write(data, 0, currentByte);

}

dest.flush();

dest.close();

is.close();

}

public static void main(String[] args) {

System. out. println(

" jar-");

//

String nameJar = "c:\\work\\example.jar";

//

String destination = "c:\\temp\\";

new UnPackJar().unpack(destination, nameJar);

}

}

9

A

. :

;

.

, .

1. .

2. .

3. , .

4. , .

5. , .

6. .

7. .

8. .

B

B 4, . , static, transient. - .

File.

1. . .

2. Java- public private.

3. Java- .

4. Java- .

5. , , , 7.

6. , , . , .

7. , , .

8. Java- , .

9. Java- .

10. .

11. , , . m n .

12. . , . -. .

13. , , . , k j.

14. . . ( ). .

15. : . . 2- , . 90 .

16. . , . . , .

9

9.1.

, , myfile File? , ?

1) myfile.chdir("NAME");

2) myfile.cd("NAME");

3) myfile.changeDir("NAME");

4) File .

9.2.

System.in?

1) java.lang.System;

2) java.io.InputStream;

3) java.io.BufferedInputStream;

4) java.io.PrintStream;

5) java.io.Reader.

9.3.

File?

1) ;

2) ;

3) ;

4) , .

9.4.

, ?

1) Reader;

2) FileReader;

3) ByteReader;

4) InputStream;

5) FileInputStream.

9.5.

transient?

1) ;

2) ;

3) ;

4) ;

5) .

 
10

, . () , :

;

;

.

: , .

. , , . , UltraSPARC T1 , 40 125 , 400 .

( LIFO Last In First Out), , . ( FIFO First In First Out) : , . : , , , . , .

Java java.util . Java 2 : Vector, Stack, Hashtable, BitSet, Enumeration . , Java 2, . . , , Java 1.

, . , . 5.0 .

, :

, , ;

( Object) .

, Java . Object , , . , , , , -, , .

:

Map<K,V> -;

Collection<E> ;

List<E> ;

Set<E> , .

Serializable, Cloneable ( WeakHashMap). , , List<E> Set<E>, Iterable<E>.

Collection<E> , :

boolean add(E obj) obj true, , false, obj ;

boolean addAll(Collection<? extends E> c) ;

void clear() ;

boolean contains(Object obj) true, obj;

boolean equals(Object obj) true, ;

boolean isEmpty() true, ;

Iterator<E> iterator() ;

boolean remove(Object obj) obj ;

int size() ;

Object[] toArray() ;

<T> T[] toArray(T a[]) .

:

Comparator<T> ;

Iterator<E>, ListIterator<E>, Map.Entry<K,V> .

Iterator<E> , . , iterator(). , . . , N , N+1 .

Iterator<E>:

boolean hasNext() , ( ) false. ;

E next() , , , . , next() NoSuchElementException;

void remove() , next().

ListIterator<E> Iterator<E>
.
E previous(), int previousIndex() boolean hasPrevious() . int nextIndex() . void add(E obj) . void set(E obj) ,
.

Map.Entry K getKey() V getValue() . V setValue(V value) , .

. 10.1.

ArrayList<E> . AbstractList<E> List<E>. :

ArrayList()

ArrayList(Collection <? extends E> c)

ArrayList(int capacity)

. List<E> , :

void add(int index, E element) element , index;

void addAll(int index, Collection<? extends E> c) , index;

E get(int index)
index;

int indexOf(Object ob) ;

E remove(int index) index;

E set(int index, E element) index, ;

List<E> subList(int fromIndex, int toIndex) .

, ArrayList<E> .

/* # 1: : DemoGeneric.java */

package chapt10;

import java.util.*;

 

public class DemoGeneric {

public static void main(String args[]) {

ArrayList<String> list = new ArrayList<String>();

// ArrayList<int> b = new ArrayList<int>(); //

list.add("Java");

list.add("Fortress");

String res = list.get(0); /*

*/

// list.add( new StringBuilder("C#") ); //

//

System. out. print(list);

}

}

:

[Java, Fortress]

, , list. .

, , .

/* # 2: : UncheckCheck.java */

package chapt10;

import java.util.*;

 

public class UncheckCheck {

public static void main(String args[]) {

ArrayList list = new ArrayList();

list.add(71);

list.add(new Boolean("TruE"));

list.add("Java 1.6.0");

 

//

int i = (Integer)list.get(0);

boolean b = (Boolean)list.get(1);

String str = (String)list.get(2);

for (Object ob: list)

System. out. println("list " + ob);

 

ArrayList<Integer> s = new ArrayList<Integer>();

s.add(71);

s.add(92);

// s.add("101");// : s

for (Integer ob: s)

System. out. print("int " + ob);

}

}

:

List 71

List true

List Java 1.6.0

Int 71

Int 92

, , .

Iterator . , .

/* # 3: : DemoIterator.java */

package chapt10;

import java.util.*;

public class DemoIterator {

public static void main(String[] args) {

ArrayList<Double> c =

new ArrayList<Double>(7);

for (int i = 0;i < 10; i++) {

double z = new Random().nextGaussian();

c.add(z); //

}

//

for (Double d: c) {

System. out. printf("%.2f ",d);

}

int positiveNum = 0;

int size = c.size(); //

//

Iterator<Double> it = c.iterator();

 

//

while (it.hasNext()) {

//

if (it.next() > 0) positiveNum++;

else it.remove(); //

}

System. out. printf("%n : %d ",

positiveNum);

System. out. printf("%n : %d ",

size - positiveNum);

System. out. println("\n ");

for (Double d: c) {

System. out. printf("%.2f ",d);

}

}

}

:

0,69 0,33 0,51 -1,24 0,07 0,46 0,56 1,26 -0,84 -0,53

: 7

: 3

0,69 0,33 0,51 0,07 0,46 0,56 1,26


ListIterator<E>, . .

/* # 4: , : DemoListMethods.java */

package chapt10;

import java.util.*;

public class DemoListMethods {

public static void main(String[] args) {

ArrayList<Character> a =

new ArrayList<Character>(5);

System. out. println(" : "

+ a.isEmpty());

for (char c = 'a'; c < 'h'; ++c) {

a.add(c);

}

char ch = 'a';

a.add(6, ch); // 6 >=8

System. out. println(a);

ListIterator<Character> it; //

it= a.listIterator(2); //

System. out. println(" "

+ it.nextIndex());

it.add('X'); //

System. out. println(a);

//

int index = a.lastIndexOf(ch); // a.indexOf(ch);

a.set(index, 'W'); //

System. out. println(a + " ");

if (a.contains(ch)) {

a.remove(a.indexOf(ch));

}

System. out. println(a + " " + ch);

}

}

:

: true

[a, b, c, d, e, f, a, g]





:


: 2016-04-03; !; : 1365 |


:

:

,
==> ...

994 - | 937 -


© 2015-2024 lektsii.org - -

: 0.328 .