operacje wejscia/wyjscia na plikach

0

witam,
przechodze do kolejnego etapu w moim programie i mam dwa pytanka:

  1. Jak juz dolacze plik (tekstowy) to w jaki sposob moge wykonywac na nim jakis operacji? (bede musial zaszyfrowac ten tekst, no i bede uzywac funkcji szyfruj()) Jesli tak ogolnie moglby ktos to opisac to bylbym wdzieczny
    (rozumiem ze bede musial korzystac z FileReader i Writer do wczytania i zapisu pliku? - na razie tylko teorie czytalem i nie jestem jakos tak obeznany do konca)

  2. Jak za pomoca kodu ASCII wyswietlic jakies litery na ekranie? wiem ze w C++ jest to przedzial cyfr chyba od 64 do 125 bodajze. Jesli to mozna zrobic w Javie to jak??

jesli zle opisalem te zjawiska to przepraszam:], caly czas sie ucze :)

z gory wielkie dzieki za pomoc,
pzdr

0

1

BufferedReader br = new BufferedReader(new FileReader("plik_do_odczytania"));
PrintWriter out = new PrintWriter(new FileWriter("test.txt"));
	String line ="";
	while((line = br.readLine()) != null){
		System.out.println(line);	
	}	
		
	out.print("tekst ");
	out.println("tekst w tej samej linijce");
	out.println("i w nowej");
br.close();
out.close();

2

char c = (char)65;
System.out.println(c);

Pozdrawiam BookaYashee

0

dzieki wielkie!! :)

0

hej! nie chcialem zakladac nowego tematu, bo to dalszy ciag walki z tym problemem. Mam taki kod jak ponizej i wyskakuje mi blad ze nie mozna odnalezc takiego pliku, mimo ze taki jest! Kod nie jest moj, ale w moim taki sam komunikat sie pojawia. Dany plik mam w tym miejscu co podalem w sciezce:/, pomocy!

import java.io.*;
public class A_Vigenere
{
public static void main(String args[])
{
try {
FileReader fr = new FileReader("D:\a.txt");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("D:\b.txt");
BufferedWriter bw = new BufferedWriter(fw);
int i=0;
String line;
while (true)
{
line = br.readLine();
if ( line == null ) break;
i++;
bw.write(i + " " + line + "\r\n");
}
br.close();
bw.close();
}
catch(IOException e) {
System.err.println("Błąd " + e);
}
}

}

0

Kod działa poprawinie.
Jeśli wyskakuje coś takiego

Błąd java.io.FileNotFoundException: D:\a.txt (System nie może odnaleźć określonej ścierzki)

To znaczy ze na dysku D nie ma pliku a.txt. Nie wiem może pomyliłeś dyski.
Java standardowo przeglada katalog roboczy czyli ten w ktorym znajudje sie plik klasy którą piszesz.
Umieść tam plik a.txt a w kodzie zmien z
new FileReader("D:\a.txt");
na
new FileReader("a.txt");
i bedzie dobrze

Pozdrawmiam BookaYashee

0

nic nie daje :/, sciezke mialem dobra ale zrobilem tak jak napisales i to tez nic nie dalo :/;
Mam komunikat:
Błąd java.io.FileNotFoundException: a.txt (Nie można odnaleźć określonego pliku)

Korzystam z netbeans'a. Moze cos trzeba zmienic w ustawieniach?? Probowalem tez z innym przykladem z ksiazki Thinking in Java i tak samo :|

0

Zapuść ten program

import java.io.*;
public class Test{
	public static void main(String[] args) throws Exception{
		PrintWriter bw = new PrintWriter(new FileWriter("output.txt"));
		
		bw.println(System.getProperty("user.dir"));
		bw.close();
		
		BufferedReader br = new BufferedReader(new FileReader("output.txt"));
		String line = "";
		while((line = br.readLine()) != null){
			System.out.println(line);
		}
		br.close();
	}
}

napierw stworzymy plik a pozniej go odczytamy.
Zawartość pliku powinna wskazywać scieżke gdzie bedzie znajdował sie plik Test.java i Test.class

Pozdrawiam BookaYashee

0

no ok, dziala dobrze ten co podales;
ale zalezy mi bardzo na wczytywaniu z gotowego pliku bo inaczej programu nie napisze, a to tylko czesc calego projektu :). Cokolwiek bym nie pisal, zawsze ten sam komunikat :/; nie rozumiem kompletnie o co chodzi:|

0

Jesli działa to znaczy, że coś zle robisz. Ten program czyta, jakt to się wyraziłeś z gotowego pliku, co prawda tworzy go wczesniej, ale to taki sam plik jak i inne. Nie ma żadnej opcji by czytało ten plik a nie czytało innych, no chyba że plik nie ma odpowiednich praw - do odczytu, ale na windzie nie powinno być takiego problemu(wnioskuje że masz windowsa z poprzedniego postu i ze scieżki jaka podałes w programie).
Zrób tak, obok pliku ktory powstał w tym programie, czyli output.txt umieść plik ktory chciałbyś odczytać,
usuni te linie
PrintWriter bw = new PrintWriter(new FileWriter("output.txt"));
bw.println(System.getProperty("user.dir"));
bw.close();

z tej lini
BufferedReader br = new BufferedReader(new FileReader("output.txt"));
zamiast output.txt wpisz nazwe pliku ktory chciałbys odczytać, zkompiluj i odpal.

0

Fajnie, wiem już z tego wątku jak operować na plikach w Javie ale mam jeszcze problem jak pobierać dane z klawiatury na konsoli. Chodzi mi o "odwrotność" funkcji System.out.println(). Ale to chyba jest bardziej skomplikowane...

0

Ciekawski:
Ten wątek był poruszony dosłowinie pare postów nizej
http://4programmers.net/Forum/viewtopic.php?id=87733&sid=77dc7384db96bdf7f8bbd4c475e29317

Heh :|

BookaYashee

0

Ciekawski:
Ten wątek był poruszony dosłowinie pare postów nizej
http://4programmers.net/Forum/viewtopic.php?id=87733&sid=77dc7384db96bdf7f8bbd4c475e29317

Heh :|

BookaYashee

0

BookaYashee robilem najglupszy blad z mozliwych i sie tego wstydze :D, tworzac plik dawalem mu nazwe "plik.txt" przez co w rzeczywistosci nazwa pliku to "plik.txt.txt". Wiem, zalosne, ale czlowiek uczy sie na bledach. Az mi wstyd za taka gafe :)
dzieki za wytrwala pomoc :), przynajmniej duzo sie nauczylem na czyms takim :)

PS. nie chce tworzyc nowego watku wiec tu sie spytam: jest mozliwosc dzielenia wyrazow, zdan na ciagi o odpowiedniej dlugosci? Np.
Ala ma kota
(ciag dlugosci 2)-> Al am ak ot a
da sie tak??
z gory dzieki i sorki raz jeszcze za zamet :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1