lab11 3


package pl.laboratorium;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.Console;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Streams {

public void testConsole() throws Exception
{
Console c = System.console();
if (c == null) throw new NullPointerException();
}

//Metoda przetwarzające pliki oraz zamieniająca ich wielkość liter w co drugim wierszu
public void testFiles() throws Exception
{
//Wczytywanie przykładowych danych
File f = new File("testFiles.txt");
FileOutputStream fos = new FileOutputStream(f);
System.out.println("-- testFiles() --");
System.out.println("size() = " + f.length());
//Przykładowy tekst
String t = "Lorem Ipsum is simply dummy text of the printing and typesetting industry";
t += "\n";
t += "Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.";
t += "\n";
t += "It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.";
t += "\n";
t += "It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.";
t += "\n";
//Zapisujemy do pliku
fos.write(t.getBytes());
//Odczytywanie danych
FileInputStream fis = new FileInputStream(f);
//Zmienne pomocnicze sluzace do przetwarzania danych
String s = new String();
boolean flag = false;
while (fis.available() > 0)
{
int c = fis.read();
//Pobieramy tablicę bajtów
String r = String.valueOf((char) c);
//Przetwarzanie danych
if (flag) {
r = r.toUpperCase();
} else {
r = r.toLowerCase();
}
//Jesli trafilismy na koniec linii
if (c == 10) {
flag = !flag;
}
s += r;
//Wypisywanie danych na konsolę
System.out.print(r);
}
System.out.println("size() = " + f.length());
//Zapisujemy przetworzoną zawartość do pliku
fos = new FileOutputStream(f);
fos.write(s.getBytes());
}

//Metoda przetwarzająca tablice bajtów oraz zamieniająca wielkość liter w co drugim wyrazie
public void testArrays() throws Exception
{
//Wczytywanie przykładowych danych
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.out.println("-- testArrays() --");
System.out.println("size() = " + baos.size());
String t = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
t += "\n";
byte[] b = t.getBytes();
baos.write(b);
//Odczytywanie danych
ByteArrayInputStream bais = new ByteArrayInputStream(b);
//Zmienne pomocnicze obslugujace przetwarzanie danych
String s = new String();
boolean flag = false;
while (bais.available() > 0)
{
int c = bais.read();
//Pobieramy tablicę bajtów
String r = String.valueOf((char) c);
//Przetwarzanie danych
if (flag) {
r = r.toUpperCase();
} else {
r = r.toLowerCase();
}
//Jesli trafilismy na znak spacji
if (c == 32) {
flag = !flag;
}
s += r;
//Wypisywanie danych na konsolę
System.out.print(r);
}
//Zapisujemy za pomocą strumienia do tablicy bajtów
baos = new ByteArrayOutputStream();
baos.write(s.getBytes());
System.out.println("size() = " + baos.size());
}

public static void main(String[] args) throws Exception {
Streams s = new Streams();
s.testArrays();
s.testFiles();
//s.testConsole();
}

}

Wyszukiwarka

Podobne podstrony:
Lab1 1 R3 lab11
Lab1 1 R1 lab11
Lab1 1 SW2 lab11
lab11
lab11
BBR2 lab11
lab11
iewb rs v4 00 lab11
lab11 (3)
lab11 2
Lab11 Firewalls VPN
lab11 2
lab11 Nowy Dokument tekstowy
i2 lab11
AiP Lab11
lab11
JP LAB11

więcej podobnych podstron