Podział pliku

0

Chce podzielić wczytany plik na 4 części. Problem w tym że nie bardzo wiem jak to zrobic z uwagi na to iż ostatni element nie będzie taki jak poprzednie gdyż wielkość nie musi być podzielna przez 4.

void ObliczDlugosc()
{
System.out.println("Dlugosc wczytanego pliku: ");
System.out.println(file.length());
}

Nie rozumiem też czemu nie działą file.length(). Zamiast wyświetlić wywala błedy.

Jest zaimportowana klasa util.io.File

0
squall147 napisał(a)

Zamiast wyświetlić wywala błedy.
Fajnie wiedzieć...

Zasady pisania tematów napisał(a)
  • W przypadku błędu dołączaj treść komunikatu(...)
0

a co rozumiesz przez file.lenhth ? to plik jak string ma długość??

0

import java.io.*; // do obslugi we/wy
import java.util.Scanner; //do obslugi danych wejsciowych

class Danepak

{
String AdresZrodlowy;
String AdresDocelowy;
int ktory;
}

public class Pakiety
{

public void startPakiety()
{

/**
 * Blok instrukcji do obslugi pliku wejsciowego     *
 */



Scanner scanner = new Scanner(System.in);
	while(true)
	{
		System.out.print("Podaj sciezke do pliku: ");
		String path = scanner.nextLine();
		File file = new File(path);
		if(!file.canRead())
		{
			System.out.println("\nBlad! Nie mozna odczytac pliku.");
		}
		else if(file.isDirectory())
		{
			System.out.println("\nBlad! Podales sciezke do folderu.");
		}
		else
		{

            ObliczDlugosc();

		}
		scanner.nextLine();
		System.out.print("\nJeszcze raz, t/n? ");
		if(!"t".equals(scanner.nextLine().toLowerCase()))break;
	}
    

        

        



}

void ObliczDlugosc()
{
System.out.println("Dlugosc wczytanego pliku: ");
System.out.println(file.length());
}

public static void main(String[] args)
{

	Pakiety pkt = new Pakiety();
	pkt.startPakiety();
}

}

bledy:

Exception in thread "main" java.lang.UnsupportedOperationException: Not yet implemented
Dlugosc wczytanego pliku:
at file.length(file.java:13)
at Pakiety.ObliczDlugosc(Pakiety.java:67)
at Pakiety.startPakiety(Pakiety.java:47)
at Pakiety.main(Pakiety.java:77)
Java Result: 1

Racja zle sie wyrazilem nie chodzilo mi o dlugosc tylko wielkosc pliku.

0

Hm... dziwne, bo wychodzi na to, że linux w tym przypadku nie obsługuje wielkości pliku. Wersja Javy + System bitte ;)

0

No właśnie stąd moje pytanie gdyż w ostatnim programie działało wszystko jak należy i tym większe moje zdziwienie...

0

util.io.File, czy java.io.File ?
Jaka Java?

0
__krzysiek85 napisał(a)

util.io.File, czy java.io.File ?
Jaka Java?

Dokladnie to jak wyzej w kodzie napisalem.

System to Ubuntu Linux i686; pl-PL; rv:1.9.0.15 natomiast JAVA - uzywam srodowiska NETBeans IDE 6.

0
squall147 napisał(a)
__krzysiek85 napisał(a)

util.io.File, czy java.io.File ?
Jaka Java?

Dokladnie to jak wyzej w kodzie napisalem.

System to Ubuntu Linux i686; pl-PL; rv:1.9.0.15 natomiast JAVA - uzywam srodowiska NETBeans IDE 6.

Użyj java.io.File.
http://java.sun.com/javase/6/docs/api/java/io/File.html

0

Połączyłem się z komputerem uczelnianym (Linux ??) za pomocą putty.
Wersja Javy:
java version "1.6.0_10-rc"
Java(TM) SE Runtime Environment (build 1.6.0_10-rc-b27)
java.io.File.length() działa.

0

@autor, jeśli masz taki kod jak zamieściłeś na forum, to on nie ma prawa się skompilować:

void ObliczDlugosc()
    {
        System.out.println("Dlugosc wczytanego pliku: ");
        System.out.println(file.length());
    }

zmienna file nie istnieje

0
bogdans_niezalogowany napisał(a)

@autor, jeśli masz taki kod jak zamieściłeś na forum, to on nie ma prawa się skompilować:

void ObliczDlugosc()
    {
        System.out.println("Dlugosc wczytanego pliku: ");
        System.out.println(file.length());
    }

zmienna file nie istnieje

To jest tylko maly fragmetn calosc jest na poprzedniej stronie... Dobra dzieki za pomoc poradzilem sobie z tym w ten sposob ze wczytalem calosc pliku do tablicy(bajt po bajcie) i podzielilem ilosc elementow tablicy:D

0

Ja tylko wyciąłem z całego kodu, który zamieściłeś błędny fragment. Powtórzę, kod na poprzedniej stronie jest błędny. Zamieszczanie na forum kodu innego niż masz u siebie i pytanie o przyczynę błędu jest objawem skrajnej głupoty lub skrajnego lekceważenia forumowiczów.

0
bogdans_niezalogowany napisał(a)

Ja tylko wyciąłem z całego kodu, który zamieściłeś błędny fragment. Powtórzę, kod na poprzedniej stronie jest błędny. Zamieszczanie na forum kodu innego niż masz u siebie i pytanie o przyczynę błędu jest objawem skrajnej głupoty lub skrajnego lekceważenia forumowiczów.

Ok myslalem ze chodzilo Ci tylko o ten fragment, tzn ze nie zauwazyles poprzedniego posta. Wiesz jakby dzialal ten fragment to bym go nie zamieszczal na forum. Poza tym forum nie sluzy do obrazania ludzi a jakos mi sie wydaje ze to wlasnie probujesz zrobic. Nie chcesz pomagac to tego nie rob. Moze sie w danej chwili nie zrozumielismy ale to nie powod do pisania takich postow. Poza tym to ekspertem chyba nie jestes wpadajac na to ze nie dziala.

Brak sil do takich ludzi...

0

Umieszczasz na forum kod, który nie ma prawa się skompilować, cytujesz komunikaty błędów, które w związku z powyższym muszą pochodzić z innego programu, i pytasz o przyczynę błędu.
Ręce opadają
P.S. Rozumiem, że skoro się poczułeś obrażony, to z alternatywy skrajna głupota lub skrajne lekceważenie wybrałeś to pierwsze.

0

Zamiescilem dokladnie ten kod ktory kompiluje... W NetBeans jest cos takiego jak warunkowa kompilacja... Kompiluje program prosi o podanie sciezki do pliku. Podaje plik. Po wczytaniu wywalal te bledy ktore skopiowalem i dalem na forum. Chlopie nie jestem jakims tepakiem zeby kompilowac inny kod niz ten ktory zamieszczam.

0

Pozwoliłem sobie skopiować listing programu z forum

C:\kody źródłowe\java>javac Pakiety.java
Pakiety.java cannot find symbol
symbol : variable file
location: class Pakiety
System.out.println(file.length());

0

Moze sprobojmy dojsc do porozumienia jak cywilizowani ludzie. Bo wydaje mi sie ze sie nie rozumiemy. Problemy sa po to by je rozwiazywac.

http://www.speedyshare.com/540280457.html

To link do zrzutu ekranu... To ten sam plik. To srodowisko tworzy tez inne pliki podobnie jak np Visual. Ale glowny kod zamieszczony jest w pliku ktorego zawartosc skopiowalem.

0

Nie używam NetBeansa, ale IMHO NetBeans pozwolił Ci uruchomić program, który miał błędy. Po podaniu przez Ciebie nazwy pliku "nazwa.txt" wszedł do błędnej funkcji ObliczDlugosc() i zgłosił błąd.

0

Cos w tym stylu. Teraz juz raczej nie bede potrzebowal length(), wpadlem na inny pomysl i jak na razie dziala. Nie ma bledow w kodzie a to juz istotne. Tak czy inaczej dzieki za pomoc. Jednakze temat uwazam za otwarty nadal. To wiekszy projekt wiec moze bede mial jeszcze jakies pytania. Pozdrawiam

Javy ucze sie od miesiaca wiec nie wiem o tym jezyku zbyt wiele. Stad moje pytania...

0

wpadlem na inny pomysl i jak na razie dziala
że niby..?
poradzilem sobie z tym w ten sposob ze wczytalem calosc pliku do tablicy(bajt po bajcie) i podzielilem ilosc elementow tablicy:D
a co jak plik będzie miał 2GB?

W konia nas robisz? Nazywasz metody z duzej litery i klasę "file" nazwałeś małą literą.. czyli uzywasz metody length ze swojej klasy... bo nie widze tam zadnego pola czy zmiennej o nazwie file.
Wkurzasz nas...

Przetestuj taki kawałek kodu... po prostu stwórz nową klasę z metodą main i ją odpal... z tym kodem

System.out.println(new java.io.File("test.txt").length());

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