java9.pdf
(
67 KB
)
Pobierz
Operacje na plikach
Java - obsługa plików
Obsługa plików
Dostęp do plików wykorzystuje z reguły klasy
FileInputStream
i
FileOutputStream
.
Konstruktory tych klas umożliwiają inicjacje strumienia poprzez podanie jako argumentu
albo nazwy pliku poprzez obiekt typu
String
lub poprzez podanie nazwy logicznej
reprezentowanej przez obiekt klasy
File
.
Klasa
File
opisuje abstrakcyjną reprezentację ścieżek dostępu do plików i katalogów.
Ścieżka dostępu do pliku może być sklasyfikowana ze względu na jej zasięg lub
ze względu na środowisko dla którego jest zdefiniowana. W pierwszym przypadku dzieli
się ścieżki dostępu na absolutne i relatywne. Absolutne to te, które podają adres do
pliku względem głównego korzenia systemu plików danego środowiska. Relatywne to te,
które adresują plik względem katalogu bieżącego. Druga klasyfikacja rozróżnia ścieżki
dostępu pod względem środowiska dla którego jest ona zdefiniowana, co w praktyce
dzieli ścieżki dostępu na te zdefiniowane dla systemów opartych na UNIX i na te
zdefiniowane dla systemów opartych na MS Windows (własność systemu o nazwie
file.separator). Przykłady:
a.) absolutna ścieżka dostępu:
UNIX: /utl/software/java/projekty
MS Windows: c:\utl\softare\java\projekty
b.) relatywna ścieżka dostępu:
UNIX: java/projekty
MS Windows: java\projekty.
Tworząc obiekt klasy
File
dokonywana jest konwersja łańcucha znaków na abstrakcyjną
ścieżkę dostępu do pliku (abstrakcyjna ścieżka dostępu do pliku jest tworzona według
określonych reguł podanych w dokumentacji API). Metody klasy File umożliwiają liczne
kontrolę podanej ścieżki i plików (np.
isFile(), isDirectory(), isHidden, canRead(),
itp.)
oraz dokonywania konwersji (np.
getPath(), getParent(), getName(), toURL(),
itp.) i
wykonywania prostych operacji (
list() mkdir(),
itp.).
Uwaga! Należy pamiętać, że zapis tekstowy ścieżki dostępu dla środowiska MS Windows
musi zawierać podwójny separator, gdyż pojedynczy znak umieszczony w inicjacji
łańcucha znaków oznacza początek kodu ucieczki, np.
„c:\\java\\kurs\\wyklad\\np".
- 1 -
Java - obsługa plików
Ćwiczenie 1
Program wypisujący tekst znajdujący się w pliku tekstowym.
import java.io.*;
public
class m117
{
public static void main(String args[])
{
String line = "";
FileInputStream fin = null;
File file = new File("test.txt");
try{
fin = new FileInputStream(file);
}
catch(FileNotFoundException e){
System.out.println("Brak pliku");
System.exit(-1);
}
DataInputStream out = new DataInputStream(fin);
BufferedReader inbr = new BufferedReader(new InputStreamReader(fin));
try{
while ((line = inbr.readLine()) != null){
System.out.println(line);
}
}
catch(IOException e){
System.out.println("Read/Write error");
}
}
}
- 2 -
Java - obsługa plików
Ćwiczenie 2
Przykładowy program wpisujący zawartość do pliku:
import java.io.*;
public
class m116
{
public static void main(String args[])
{
String line = "";
FileOutputStream fout = null;
File file = new File("test.txt");
try{
fout = new FileOutputStream(file);
}
catch(FileNotFoundException e){
System.out.println("Brak pliku");
System.exit(-1);
}
DataOutputStream out = new DataOutputStream(fout);
BufferedReader inbr = new BufferedReader(new InputStreamReader(System.in));
try{
while (!line.equals("quit")){
line = inbr.readLine();
out.writeBytes(line + '\n');
}
}
catch(IOException e){
System.out.println("Read/Write error");
}
}
}
- 3 -
Java - obsługa plików
Ćwiczenie 3
Program wypisujący zawartość pliku na ekranie
import java.io.*;
public
class m119
{
public static void main(String args[])
{
if (args.length < 1){
System.out.println("Wywołanie programu: Main nazwa_pliku");
System.exit(0);
}
String line = "";
FileInputStream fin = null;
File file = new File(args[0]);
try{
fin = new FileInputStream(file);
}
catch(FileNotFoundException e){
System.out.println("Brak pliku");
System.exit(-1);
}
DataInputStream out = new DataInputStream(fin);
BufferedReader inbr = new BufferedReader(new InputStreamReader(fin));
try{
while ((line = inbr.readLine()) != null){
System.out.println(line);
}
}
catch(IOException e){
System.out.println("Read/Write error");
}
}
}
- 4 -
Java - obsługa plików
Ćwiczenie 4
Wyświetlanie zawartości pliku tekstowego wersja 2
// wyswietlanie pliku tekstowego java schi402 test.txt
import java.io.*;
class schi402 {
public static void main(String args[]) throws IOException {
int i;
FileInputStream fin;
try {
fin= new FileInputStream(args[0]);
} catch (FileNotFoundException exc) {
System.out.println("Pliku nie znaleziono");
return;
} catch (ArrayIndexOutOfBoundsException exc) {
System.out.println("Nie podano nazwy pliku");
return;
}
// odczyt bajtow do napotkania konca pliku
do {
i=fin.read(); //odczyt z pliku
if( i !=-1) System.out.print((char) i);
} while (i != -1); // gdy i=-1 to koniec pliku
fin.close();
}
}
- 5 -
Plik z chomika:
ell_lornzo
Inne pliki z tego folderu:
java14.pdf
(182 KB)
java13.pdf
(40 KB)
java12.pdf
(89 KB)
java11.pdf
(47 KB)
java10.pdf
(51 KB)
Inne foldery tego chomika:
c#
c++
Free Pascal
Zgłoś jeśli
naruszono regulamin