0

文字列値をテキストファイルとして保存したいので、次のように宣言しました

String item1, item2;
//code...
item1=arraylist.getItem1();
item2=arraylist.getItem2();
FileOutputStream fos;
try {
fos = openFileOutput(item1, Context.MODE_PRIVATE);
fos.write(item2.getBytes());
fos.close();
} 
catch (FileNotFoundException e) 
{
e.printStackTrace();
} 
catch (IOException e) 
{
// TODO Auto-generated catch block
e.printStackTrace();
}

//code....

しかし、エラーが発生しています

1)java.lang.illegalargumentexception file contains a path separator

そして、data/data/my package dir のテキストファイルを開くことができず、次のメッセージが表示されます

opendir failed permission denied android adb

ここで何が間違っているのか、文字列の値をテキスト ファイルに保存して表示するにはどうすればよいですか。

4

2 に答える 2

0

最後に、この問題を解決しました。新しいクラスを作成し、このクラスを前のクラスでインスタンス化しました。コーディングは次のとおりです。

public void Class1(String item1, String item2, Context context)
        {
         FileOutputStream fos;
            try {
                fos = context.openFileOutput("newfile.txt", Context.MODE_PRIVATE);
                fos.write(item1.getBytes());
                fos.write(item2.getBytes());
                fos.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

そして、私はこのクラスを次のようにインスタンス化しました

Class1 main = new Class1();
tracklog.Logger(item1, item2,this);

よって不正引数例外エラーは解消されました。これが誰かを助けることを願っています:-)

于 2013-11-15T05:56:58.963 に答える