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.
- , , .