[Çözüldü] Java'da dosya okuma hatası

Başlatan ahmet_matematikci, 07 Mart 2016 - 09:39:56

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ahmet_matematikci

Altuğ B. Altıntaşın Java Kitabında Dosya Okuma ile alakalı bir örnek var.
Herşeyi doğru yaptığım halde konsolda doğru şekilde okumuyor.
Nerde hata yapmış olabilirim.

public class DosyaOkuma1 {

public static void main(String[] args) {
if (args.length != 1) {
System.err.println("Dosya ismi eksik");
System.exit(1);
}
try {
InputStream is = new FileInputStream(args[0]);//dikkat
int b;
while((b = is.read()) !=-1) {
System.out.println(b + "-" + (char)b);
}
is.close();
} catch (IOException e) {
System.err.println(e);
}
}
}


Çalışan Paket içerisinde yazi1.txt de bulunmakta.
Çalıştırdığım kod
a@a-ThinkPad-T420:~/workspace/JavaGirisCikis/src/Okuma$ javac DosyaOkuma1.java
a@a-ThinkPad-T420:~/workspace/JavaGirisCikis/src/Okuma$ java DosyaOkuma1 yazi1.txt

Aldığım hata paha biçilmez :))
Exception in thread "main" java.lang.NoClassDefFoundError: DosyaOkuma1 (wrong name: Okuma/DosyaOkuma1)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Erdem

Program derleniyor ve çalışıyor.

İsterseniz şu temel programı derlemeyi deneyin.

https://github.com/erdemoncel/java/blob/master/Merhaba.java

ahmet_matematikci

#2
Erdem hocam cevap için teşekkür ederim ama javanın çalışmasında bir problem yok.
Şöyle sorayım.Kodu Bulunan dizine yazi1.txt dosyası olusturup içine bir kelime yazıp kaydedip kapatın.
Bu kod o txt içindeki yazıyı konsoldan
java  DosyaOkuma1 yazi1.txt
kodu girince çalışmalı..
Yani txt dosyası içinde ki kelimeyi konsalda göstermeli.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

uçbirim2002

Kaynak dosyanızın adını sınıf adı ile aynı yapınız. 'DosyaOkuma1' >> 'DosyaOkuma1.java'
Hello!

ahmet_matematikci

@ucbirim2002 zaten şu an öyle
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Erdem

#5

import java.util.Scanner;
import java.io.File;

public class Dene
{
    public static void main(String[] args) throws Exception
    {
        Scanner okuyucu = new Scanner(new File(args[0]));
        while (okuyucu.hasNext())
        {
            String s = okuyucu.next();
            System.out.println(s + " ");
        }
    }
}


Ben şahsen biraz D'ye benzeyen okuma sağlayan şu sınıfı ya da bunu tercih ediyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Mart 2016 - 16:48:10

Kitap olarak da şu kitabı beğendim  ;)

http://introcs.cs.princeton.edu/java/home/

ahmet_matematikci

Erdem hocam kitap ve kod oneriniz için teşekkür ederim. Ama benim merak ettiğim konsolda girdiğimde cikti yi konsoldan vermeme sebebi.
Not. Ingilizce hava kitaplarına su an için bakmıyorum yeterli ingiliz cem olmadığı icin
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

ahmet_matematikci



Alıntı yapılan: ahmet_matematikci - 07 Mart 2016 - 19:49:38
Erdem hocam kitap ve kod oneriniz için teşekkür ederim. Ama benim merak ettiğim konsolda girdiğimde cikti yi konsoldan vermeme sebebi.
Not. Ingilizce java kitaplarına su an için bakmıyorum yeterli ingiliz cem olmadığı icin

♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Erdem

#8
Yukarıdaki program okuduğu kütükteki bilgileri kelime kelime komut satırına yazıyor.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Mart 2016 - 21:30:00

Tam olarak ne yapmak istediğinizi çıktı olarak gösterirseniz belki daha fazla yardımcı olabiliriz. Hatta kütük içeriğini göstermek için more komutundan faydalanabilirsiniz.

$ more tiny.txt
S O R T E X A M P L E

7hr33l3t73r

Bence kodlari calistirmadan once CLASSPATH kavramini arastirmalisiniz. Ben soyle bir hareketli resim ile anlatmaya calistim. Umarim faydali olur.
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

ahmet_matematikci

@8100d1r0n tam olarak yapmak istediğim buydu.
Size ve @erdem hocaya teşekkür ederim.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)