.


:




:

































 

 

 

 





Java :

  • File.

( , , ).

  • -.

, , -.

 

File

File , . , .

File , :

File( )

File( )

File( , ).

(), , (), . () . Windows \ , , \\.

 

, File:

 

String pathSeparator . / Unix- \ Windows.
char pathSeparatorChar . / Unix- \ Windows.
String separator .
char separatorChar .
boolean exists() true , ( ) . false.
long length() , . 0L.
boolean canRead() true , ( ) . false. ( Unix- , ). SecurityException.
boolean setReadOnly() true , ( ) , . false.
boolean canWrite() true , ( ) . false. ( , ). SecurityException.
boolean isDirectory() true , . false.
boolean isFile() true , . false.
boolean isHidden() true , . false. Unix- , . Windows , hidden ().
long lastModified() , . 0L. , 0 1 1970 ( ).
boolean setLastModified(long time) . true, . false. , 0 1 1970 ( ).
()
String getName() .
String getParent() , ( ), .
String getAbsolutePath() , . , .
String getCanonicalPath() , . , . IOException, .
int compareTo(File f) (), f. 0 , () . , . Unix- , Windows . .
boolean isAbsolute() true , () . , .
boolean equals(Object obj) true , obj (). , . .
//
boolean createNewFile() , . true, false. IOException, (, ).
File createTempFile(String prefix, String suffix) File createTempFile(String prefix, String suffix, File folder) . ( ), prefix+suffix , . . 3 . IOException, (, ).
boolean mkdir() , . true false .
boolean mkdirs() , , , , . true false .
boolean delete() , . true false .
boolean renameTo(File dest) , , , dest. true false .
File getAbsoluteFile() , .
File getCanonicalFile() , . IOException, .
File getParentFile() , .
String[] list() String[] list(FilenameFilter filter) () . , , . , null. , .
File[] listFiles() File[] listFiles(FilenameFilter filter) , . , , . , null. , .
File[] listRoots() , . Unix /, Windows .

 

:

File f1=new File(".."); // ".", "/", "C:/../"

System.out.println("getAbsolutePath(): "+f1.getAbsolutePath());

 

try{

System.out.println("getCanonicalPath(): "+f1.getCanonicalPath());

}

catch(Exception e){

System.out.println(" getCanonicalPath() ");

};

 

System.out.println("exists(): "+f1.exists());

System.out.println("canRead(): "+f1.canRead());

System.out.println("canWrite(): "+f1.canWrite());

 

. ( ) JLabel () Swing. . , .

, , openMenuItem (...) [JFrame]/menuBar[JMenu]/fileMenu[JMenu]/openMenuItem[JMenuItem]. openMenuItem openMenuItemActionPerformed .

JFileChooser, . import javax.swing.*, , javax.swing. , , .

 

 

javax.swing.JFileChooser fileChooser=new javax.swing.JFileChooser();

 

:

 

private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt) {

if(fileChooser.showOpenDialog(null)!= fileChooser.APPROVE_OPTION){

System.out.println(" ");

return;

};

System.out.println(" Open");

jLabel1.setText(fileChooser.getSelectedFile().getName());

jLabel2.setText(fileChooser.getSelectedFile().getParent());

}

fileChooser.showOpenDialog(openMenuItem). . openMenuItem. APPROVE_OPTION , Open - .

return , . :

if(fileChooser.showOpenDialog(openMenuItem)== fileChooser.APPROVE_OPTION){

System.out.println(" Open");

jLabel1.setText(fileChooser.getSelectedFile().getName());

jLabel2.setText(fileChooser.getSelectedFile().getParent());

}

else

System.out.println(" ");

 

. , , , , , . if . . if , .

javax.swing.JFileChooser fileChooser=new javax.swing.JFileChooser()

. / -. . , . , . , .

, :

File folder=;

fileChooser.setCurrentDirectory(folder);

showSaveDialog.

 

, . . , JFileChooser . :

package java_gui_example;

 

import java.io.*;

 

 

public class SimpleFileFilter extends javax.swing.filechooser.FileFilter {

 

String ext;

 

SimpleFileFilter(String ext){

this.ext=ext;

}

 

public boolean accept(File f){

if(f==null)

return false;

if(f.isDirectory()){

return true;

}

else

return (f.getName().endsWith(ext));

}

 

/**

* ,

* @see FileView#getName

*/

public String getDescription(){

return "Text files (.txt)";

}

 

}

 

:

javax.swing.filechooser.FileFilter fileFilter=new SimpleFileFilter(".txt");

 

:

fileChooser.addChoosableFileFilter(fileFilter);

 

() . , .

. , ,

fileChooser.setFileFilter(fileFilter);

, .

- showCustomDialog.

. :

fileChooser.setMultiSelectionEnabled(true);

 

:

java.io.File[] files = fileChooser.getSelectedFiles();

if (files!= null && files.length > 0) {

String filenames = "";

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

filenames = filenames + "\n" + files[i].getPath();

}

}

 

(), . ,

fileChooser.setFileSelectionMode(fileChooser.DIRECTORIES_ONLY);

,

fileChooser.setFileSelectionMode(fileChooser.FILES_AND_DIRECTORIES);

:

fileChooser.setFileSelectionMode(fileChooser.FILES_ONLY);

, , File folder,

String[] filenames= folder.list(filter);

. filter, , java.io.FilenameFilter. , , . SimpleFilenameFilter:

package java_gui_example;

import java.io.*;

public class SimpleFilenameFilter implements FilenameFilter{

String ext;

public SimpleFilenameFilter(String ext) {

this.ext=ext;

}

 

public boolean accept(File dir,String fileName){

return ext==""||fileName.endsWith(ext);

}

}

, , jTextArea1 ( ) JTextArea, :

String[] filenamesArray;

File folder=fileChooser.getSelectedFile();

SimpleFilenameFilter filter=new SimpleFilenameFilter("");

String filenames = "";

if(folder.isDirectory()){

filenamesArray=folder.list(filter);

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

filenames = filenames + "\n" + filenamesArray[i];

};

jTextArea1.setText(filenames);

}

, / :

java.io.File[] files = fileChooser.getSelectedFiles();

if (files!= null && files.length > 0) {

String filenames = "";

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

filenames = filenames + "\n" + files[i].getPath();

};

jTextArea1.setText(filenames);

};

 

-

Java, ( , String StringBuffer, ..), . , (Streams).

, - . , . , .

(, , ), . . , , . , , , . . . , - .

, . -, () - , ( ).

InputStream ( ) , . OutputStream ( ) - , . -.

 

InputStream:

int available() , .
int read() , 0 255. -1.
int read(byte[] b) int read(byte[] b, int offset, int count) b.length b. . -1.
long skip(long count) () count . count ≤0, . . ≤0, .
boolean markSupported() true , mark reset, false.
void mark(int limit) . reset, . . . markSupported.
void reset() , . . IOException. . . markSupported mark.
void close() . IOException.

InputStream, markSupported mark, IOException .

 

OutputStream:

void write(int b) . int byte. , int.
void write(byte[] b) void write(byte[] b, int offset, int count) . offset count, , count offset.
void flush() . , write, . , ( ), , , write, , flush.
void close() . IOException.

IOException .

 

InputStream/OutputStream. ( ) java.io.Reader (). , FileReader. , - java.io.Writer (). , FileWriter.

 

, InputStream/OutputStream Reader/ Writer. RandomAccessFile ( ), . RandomAccessFile , . RandomAccessFile , .

, . (), . , , .

 

RandomAccessFile:

 
long getFilePointer() - / . .
long length() ( ).
void setLength(long newLength) newLength. newLength , . , , . newLength , , .
void close() . IOException.
void seek(long pos) pos.
int skipBytes(int n) n / n . n>0, , . n≤0, . . n , - .
int read() , 0 255. -1.
int read(byte[] b)   b.length b. . -1.
int read(byte[] b, int offset, int count) count b, offset. . -1.
void readFully(byte[] b)   b.length , , b.
void readFully(byte[] b, int offset, int count) count , , offset.
 
void write(int b) b. , writeByte(b).
void write(byte[] b) b, .. b.length .
void write(byte[] b, int offset, int count) count b , offset.
boolean readBoolean() boolean
byte readByte() byte
short readShort() short
int readInt() int
long readLong() long
int readUnsignedByte() ( Java) int
int readUnsignedShort() ( Java) int
char readChar() char
float readFloat() float
double readDouble() double
void writeBoolean(boolean v) boolean
void writeByte(int v) byte. int byte.
void writeShort(int v) short. int short.
void writeInt(int v) int
void writeLong(long v) long
void writeChar(int v) char. int char.
void writeFloat(float v) float
void writeDouble(double v) double
String readLine() ( \n) . UNICODE , .. . , ANSI.
String readUTF UTF-8 . UTF-8 .
void writeBytes(String s) s , . , UNICODE ( ). ANSI. . writeChars, .
void writeChars(String s) s , . UNICODE .
void writeUTF(String s) s , UTF-8.

 

RandomAccessFile, getChannel(), IOException .

. , . :

  • "r"- read,-
  • "rw"- read and write,-
  • "rws"- read and write synchronously,- (. , Threads)
  • "rwd"- read and write to device,- (. , Threads)

:

java.io.RandomAccessFile rf1=new java.io.RandomAccessFile("q.txt","r");

java.io.RandomAccessFile rf2=new java.io.RandomAccessFile(file,"rw");

 

, .

 

:

 

File file;

javax.swing.JFileChooser fileChooser=new javax.swing.JFileChooser();

javax.swing.filechooser.FileFilter fileFilter=new SimpleFileFilter(".txt");

 

private void openMenuItemActionPerformed(java.awt.event.ActionEvent evt) {

 

fileChooser.addChoosableFileFilter(fileFilter);

if(fileChooser.showOpenDialog(null)!=fileChooser.APPROVE_OPTION){

return;// Cancel

};

file = fileChooser.getSelectedFile();

try{

InputStream fileInpStream=new FileInputStream(file);

int size=fileInpStream.available();

fileInpStream.close();

char[] buff=new char[size];

Reader fileReadStream=new FileReader(file);

int count=fileReadStream.read(buff);

jTextArea1.setText(String.copyValueOf(buff));

javax.swing.JOptionPane.showMessageDialog(null,

" "+ count+" ");

 

fileReadStream.close();

} catch(Exception e){

javax.swing.JOptionPane.showMessageDialog(null,

" \n"+file.getAbsolutePath());

}

 

}

 

fileInpStream, FileInputStream, InputStream. , FileInputStream . :

fileInpStream=new FileInputStream(file);

fileInpStream.available() , . fileInpStream , . FileReader available(), FileInputStream.

buff , .

, , , , . , . . available() FileInputStream.

Reader fileReadStream=new FileReader(file);

Reader, FileReader, , InputStream, FileInputStream.

ANSI

, try :

FileReader filReadStream=new FileReader(file);

BufferedReader bufferedIn=new BufferedReader(filReadStream);

String s="",tmpS="";

while((tmpS=bufferedIn.readLine())!=null)

s+=tmpS+"\n";

jTextArea1.setText(s);

bufferedIn.close();

, , :

private void saveAsMenuItemActionPerformed(java.awt.event.ActionEvent evt) {

fileChooser.addChoosableFileFilter(fileFilter);

if(fileChooser.showSaveDialog(null)!=fileChooser.APPROVE_OPTION){

return;// Cancel

};

file = fileChooser.getSelectedFile();

try{

Writer filWriteStream=new FileWriter(file);

filWriteStream.write(jTextArea1.getText());

filWriteStream.close();

} catch(Exception e){

javax.swing.JOptionPane.showMessageDialog(null,

" \n"+file.getAbsolutePath());

}

 

}


7

ü Java , . . Java - .

ü , . . .

ü System.arraycopy. Arrays.fill - Arrays java.util Arrays.equals ( ) Arrays.deepEquals ( , , ). ( ) Arrays.sort.

ü (Collections) , . , . (iterator). .

ü String . String , , 0 2*109. String , . Object toString(), .

ü String -. , StringBuffer StringBuilder.

ü java.awt.Graphics. , , paint, . ComponentResized.

ü Java . - Throwable. Throwable Error () Exception (). Error , catch. Exception . RuntimeException ( ).

ü , . , throws . , , , .

ü File ( , , ).

ü JFileChooser ( javax.swing).

ü - , , -. java.io. InputStream ( ) , . OutputStream ( ) - , .

ü ( ) Reader (). , FileReader. , - Writer (). , FileWriter.

ü - RandomAccessFile ( ), . RandomAccessFile , . RandomAccessFile , .

ü

  • FileInputStream/FileOutputStream ( InputStream/OutputStream). .
  • RandomAccessFile. .
  • JTextArea RandomAccessFile. . (ANSI, UNICODE,UTF-8).
  • , , . JTable. double.
  • , , .





:


: 2017-02-28; !; : 458 |


:

:

, , .
==> ...

1335 - | 1256 -


© 2015-2024 lektsii.org - -

: 0.169 .