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

  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • Grace Su

    Grace Su

    6 Ocak 2006
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007