0
  String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
                "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
                "Linux", "OS/2" };
        Log.d("list",TextUtils.join(",", values));
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, values);
        setListAdapter(adapter);

              String a="hi  is";
                File myFile = new File("/sdcard/mysdcardfile.txt");
                try {
                    myFile.createNewFile();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
                try {
                    //byte[] anotherArray = new byte[values.length];
                    byte data[] = new byte[1024];
                    int count;
                    long total = 0;
                    FileOutputStream output = new FileOutputStream(myFile);
                    while ((count = values.length) != -1) {

                        total += count;
                //  FileWriter fos = new FileWriter(myFile);
               //   BufferedWriter bis = new BufferedWriter(fos);
                    output.write(data, 0, count);
                    //bis.close();
                    //fos.close();
                    output.close();
                    }   

ここで、値はテキスト形式でSDカードに保存されますが、テキストファイルを開くと、バイトが含まれています。ここでは、値はバイトに保存されます。ファイル出力ストリームを書き込むときに、バイトを文字列に変更する方法.テキストファイルの値。

4

3 に答える 3

1

テキストとして書きたい場合は、使用しないでくださいDataOutputStream。ストリーム (InputStream および OutputStream) は、テキストではなく、バイナリ データの読み取りと書き込み用です。テキストを書きたい場合は、 のWriter代わりに を使用しOutputStreamます。例えば:

String[] array = ...  // wherever you get this from;  

File file = new File("StringFile.txt");  
PrintWriter out = new PrintWriter(new FileWriter(file));  

// Write each string in the array on a separate line  
for (String s : array) {  
    out.println(s);  
}  


out.close();  

入れることを忘れないでください

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

アプリケーションのマニフェスト ファイルに。

于 2012-07-18T08:51:42.140 に答える
0

SQLiteデータベースまたはContentProviderを使用してみませんか?

代わりに、DataOutputStream.writeUTF()およびDataInputStream.readUTF()を使用できます。これらのメソッドは、文字列の長さをファイルに入れ、適切な文字数を自動的に読み戻すためです。

于 2012-07-18T08:41:06.823 に答える
0

ファイルをバイト配列で読み込み、以下のように String に変換します。

    byte[] array = new byte[1000]; // 1000 is just given u can change it accordingly
      String s= new String(array);
于 2012-07-18T08:39:00.253 に答える