SORU
17 Ocak 2011, PAZARTESİ


İyi bir metin okumak için Java dosya yolu?

Ve dosyaları kullanarak veri okumak ve yazmak için birkaç farklı yolu vardır gibi görünüyor.

Bir dosyadan ASCII veri okumaya çalışıyorum. En iyi yolu nedir karar verebilirim ki farklar nelerdir?

CEVAP
17 Ocak 2011, PAZARTESİ


Küçük bir dosya okumak için benim en sevdiğim yolu bir BufferedReader ve bir StringBuilder kullanın. Çok basit ve nokta (gerçi özellikle etkili, ama çoğu için yeterince iyi değil):

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
} finally {
    br.close();
}

Biraz sonra Java 7 try-with-resources (yani otomatik kapat) özellikleri kullanmanız gerektiğini işaret etti:

try(BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
}

Bu dizeler okudum, ben genelde çizgi neyse, her dize işleme yapmak istiyorum, o zaman bu uygulama için gidin.

Eğer gerçekten sadece bir Dize içine bir dosya okumak istiyorum ama eğer, ben her zaman sınıf İOUtils Commons IO Apache kullanın.() olabilirdi yöntemi. Kaynağı buraya bir göz atabilirsiniz:

http://www.docjar.com/html/api/org/apache/commons/io/IOUtils.java.html

FileInputStream inputStream = new FileInputStream("foo.txt");
try {
    String everything = IOUtils.toString(inputStream);
} finally {
    inputStream.close();
}

Ve Java 7 ile bile basittir:

try(FileInputStream inputStream = new FileInputStream("foo.txt")) {
    Session IOUtils;
    String everything = IOUtils.toString(inputStream);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonnyriddlin1

    Jonnyriddlin

    4 Ocak 2007
  • JorteexHD

    JorteexHD

    20 NİSAN 2012
  • vgeller1

    vgeller1

    22 Kasım 2009