2016-04-11 21 views
0

ikili biçiminde depolar. Oluşturulan dosyada veri depolamak istiyorum, ancak kod dosyada ikili dili depolar. Herkes bir dizeyi saklamama yardım edebilir mi?Verileri bir dosyada saklayamıyorum; bunun yerine,

import java.io.*; 
import java.util.*; 
class WriteToFileExample { 
    public static void main(String args[]) { 
     try { 
      // Create file 
      FileWriter fstream = new FileWriter("out.txt"); 
      BufferedWriter out = new BufferedWriter(fstream); 
      Scanner sc = new Scanner(System.in); 
      System.out.println("enter name"); 
      int a = sc.nextInt(); 
      out.write(a); 
      out.close(); 
     } catch (Exception e) { 


      //Catch exception if any 
      System.err.println("Error: " + e.getMessage()); 
     } 
    } 
} 
+0

Bunu bir Dize (yazma (a + "", 0, 1)) olarak yazın. Ama muhtemelen 'yaz' için daha temiz bir çözüm – Reinard

+1

[Javadoc okuyun] (https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html#write (int)) yöntemini çağırıyorsunuz. –

+0

, geleneksel olarak bir dize olan bir ad istersiniz, çünkü sayılara göre insanlara isim vermeyiz (* sanırım *) ve daha sonra 'nextInt 'işlevini kullanarak okuyun. büyüleyici! –

cevap

-1

Dize girmek için Scanner.nextInt() yöntemini kullanıyorsunuz. Değişim:

int a = sc.nextInt() 

String a = sc.next() 

geniş kapsamlı bir konu

Sizin BufferedWriter içinde "yazma (int)" yöntemi kullandığınızda, tam sayının belirttiği karakteri yazıyoruz olmasıdır. Bunun anlamı, ASCII karakterinin koyduğunuz tamsayı tarafından temsil edildiği her şeyi yazmanızdır - örneğin, kodunuzda "65" girdiyseniz, bunun içinde bir A harfi bulunan bir metin dosyası alırsınız. A, ASCII # 065. Gördüğünüz gibi bunlardan düşünürdü gibi ilk 20 ya da öylesine harf veya rakamlar değildir http://web.cs.mun.ca/~michael/c/ascii-table.html

:

İşte karakterler için ASCII değerlerinin bir masa. İsterseniz, bu karakterlerin bazılarının tamsayı değerlerini, nasıl çalıştığını görmek için kodunuza girmeyi deneyebilirsiniz.

+2

Okuma, konuyla ilgili değil. Bir 'int' okumada yanlış bir şey yoktur, o zaman 'int' nin sorunlu olduğu nasıl yazılır. –

+0

Haklısınız, ancak birisi hala bu tür şeyler için Tarayıcı sınıfını kullanıyorsa, Javadoc'un "yazılacak bir karakteri belirtmek" şeklindeki tanımının ne kadar yararlı olduğundan emin değilim. Daha fazla detaylandırma için cevabı düzenledim – stuart

İlgili konular