Download Android Development

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
IO Package in Java
File class

Class File provides information about


Files and directories
The class provides

A constructor with a String argument

Specifying the name of a file or directory

The name can be either an absolute path or a relative path
Methods of the File class
Methods of the File class
(cont’d)
FileFilter interface

FileFilter

Used for filtering the set of files shown to the user

Method

boolean accept(File pathName)


Tests whether or not the file is acceptable
Used in conjunction with

File[] listFiles method of the File class

To list files satisfying a given filter
NIO Package in Java
Core components

NIO has two pillars

Channels

Buffers
Channels


Channel is similar to a stream but

Is bidirectional unlike a stream

And always read from and write to a buffer
Some channel implementations in Java NIO include




FileChannel
DatagramChannel
SocketChannel
ServerSocketChannel
Buffers

Buffer is


A Buffer is typically used as





A container that can hold a finite number of elements
Write data to the buffer
Call the flip method
Read data out of the buffer
Either call the clear method or the compact method
Types of buffers:


ByteBuffer, CharBuffer, DoubleBuffer
FloatBuffer, IntBuffer, LongBuffer
Properties of Buffers

Buffers have 3 main properties




Capacity
Position
Limit
clear method
position=0
 limit =
capacity


compact method
limit=capacity
 position=
position of last unread data + 1

NIO package

File information can also be retrieved using


Classes of the sub-packages of the java.nio package
In particular, the following classes can be used:

Path


Paths


provides static methods used to create a Path object
Files


Objects represent the location of a file or directory
provides static methods for common file and directory manipulations
DirectoryStream

enables a program to list the content of a directory
Path class

Path is

a programmatic representation of a path in file system

used to examine, locate, and manipulate files

composed of methods that can among other things


obtain information about path through getFileName()

compare two paths using the equals() method
instantiated by means of the get method of the Paths class

Example: Path p = Paths.get(“sample.txt”);
Files class

Files

provides support for common file and directory manipulations

exists(Path)

Verifies existence of a file or a directory
isReadable(Path), isWritable(Path), isExecutable(Path)

Checks file accessibility
isSameFile(Path, Path)

Checks whether two paths locate the same file
delete(Path) and deleteIfExists(Path)

Delete files or directories
copy(Path, Path)and move(Path, Path)





Copy and move files or directories
Files class (cont’d)

Files

allows for management of meta-data

size(Path)

size of specified file in bytes
isDirectory(Path)

returns true if specified path is a directory
getLastModifiedTime(Path)

File’s last modified time
getOwner(Path)

Owner of specified file
readAttributes(Path, Class)





Reads attributes of a file in one bulk operation
Basic File Attributes (Example)
Path file = ...;
BasicFileAttributes attr = Files.readAttributes(file,
BasicFileAttributes.class);
System.out.println("creationTime: " + attr.creationTime());
System.out.println("lastAccessTime: " + attr.lastAccessTime());
System.out.println("lastModifiedTime: " +
attr.lastModifiedTime());
System.out.println("isDirectory: " + attr.isDirectory());
System.out.println("size: " + attr.size());
Reading, writing and creating
files using Files class

Buffered I/O methods for text files in Files class

newBufferedReader(Path, Charset)
 opens a file for reading returning a BufferedReader

Example:
Charset charset = Charset.forName(“US-ASCII”);
BufferedReader reader = Files.newBufferedReader(file, charset);

newBufferedWriter(Path, Charset)
 returns a BufferedWriter

Example:
Charset charset = Charset.forName(“US-ASCII”);
BufferedWriter writer = Files.newBufferedWriter(file, charset);
Reading, writing and creating
files using Files class (cont’d)

Unbuffered I/O methods for text files in Files class

newInputStream(Path, OpenOption...)
 returns an InputStream for reading bytes from file

Example:
InputStream in = Files.newInputStream(file);

newOutputStream(Path, Charset)
 returns a OutputStream

Example:
OutputStream out = Files.newOutputStream(file);