2015-07-06 19 views
5

Ana sınıfımı, boşlukları kaybetmeden değerler alabilmem için nasıl değiştirebilirim?Dize değeri boşluk ile nasıl dönülür

StringBuilder sb = new StringBuilder(); 
Scanner s = new Scanner(new FileReader(new File("C:/User/waithaka/Documents//duka.json"))); 
while (s.hasNext()) { 
    sb.append(s.next()); 
} 
s.close(); 

GsonBuilder gsonBuilder = new GsonBuilder(); 
Gson gson = gsonBuilder.create(); 

String jstring = sb.toString(); 
Result results = gson.fromJson(jstring, Result.class); 
List<data> dat = response.getData(); 
for (data data : dat) { 
    System.out.println("The item is " + data.getItem()); 
} 

son satır boşluk olmadan değerlerini yazdırır: Burada

benim ana sınıfın bir kısmıdır. Örneğin, "Black and yellow" dize ile bir değer "Blackandyellow" olarak değiştirilecektir.

+0

Bence senin Sorun dosyada okumak için 'Tarayıcı' kullanmaktır. "Tarayıcı", "kelimeler" i döndürür - boşluklarla ayrılmış dizeler. Boşluğun kendisi ovuşturdu. – Arkadiy

+0

teşekkürler, –

cevap

2

Sorununuzun, beyaz boşlukları kırpıyor olabileceğinden, Tarayıcı'yı kullanmak olduğunu düşünüyorum. Zaten bazı Google kütüphaneleri (GSON) kullanıyorsanız, ben de Google'ın guava kullanmak istiyorsunuz, onun Dosyalar sınıf bir String bir bütün dosyayı okuyacak bir toString() yöntemi vardır:

Files.toString()

3

Scanner.java sınıfına bakarsanız, yeni satır karakterleri olarak kabul edilen beyaz alanı görebilirsiniz.

public Scanner(InputStream source) { 
     this(new InputStreamReader(source), WHITESPACE_PATTERN); 
    } 

Sen

s.useDelimiter(System.getProperty("line.separator")); 

Sorunu çoğaltmak ve düzeltmek mümkün olduğu gibi hat ayırıcı koymak gerekir, aşağıda kodudur -

JSON

{ 
name:"Stack-overflow", 
url:"http://www.stack-overflow .com" 
} 

Ve burada sınıf

public class GsonTest { 

    public static void main(String[] args) throws FileNotFoundException { 
     StringBuilder sb = new StringBuilder(); 

     Scanner s = new Scanner(new FileReader(new File(
       "/Users/chatar/Documents/dev/projects/stack-overflow/stack-overflow/bin/C:/User/waithaka/Documents/duka.json"))); 

     s.useDelimiter(System.getProperty("line.separator")); 
     while (s.hasNext()) { 
      String nxt = s.next(); 
      sb.append(nxt); 
     } 
     s.close(); 

     GsonBuilder gsonBuilder = new GsonBuilder(); 
     Gson gson = gsonBuilder.create(); 

     String jstring = sb.toString(); 
     Result results = gson.fromJson(jstring, Result.class); 

     System.out.println("The item is " + results); 
    } 
} 
+1

çalıştı, hepsi sizin için çalışıyorsa, birden fazla cevap kabul edebilirsiniz! – TheCodingFrog