当前位置: 主页 > JAVA语言

java将字符串写入文件-java写入文件

发布时间:2023-05-25 22:06   浏览次数:次   作者:佚名

java将字符串写入文件只会写入。。。字节数组地址?

4周java将字符串写入文件,1日Questions & Answers148

我有一个很奇怪的问题。我想写一些东西(实际上是一个String)到一个文件中。我像往常一样把它转换成一个字节数组,把它写到文件中,然后。。。只有这样写:[B@42928da8。不管我写什么,字符串有多大,或者别的,我都没有得到什么不同。我认为这是数组的地址,但它是如何到达的

java写入文件_java将字符串写入文件_java int数组写入文件速度

按下“保存”按钮时调用的功能

java将字符串写入文件_java int数组写入文件速度_java写入文件

public void saveNote(View view){
    String FILENAME;
    String content;
    FILENAME = editText_name.getText().toString();
    content = editText_note.getText().toString();
    if (FILENAME.equals("LISTOFALLNOTES") || FILENAME.equals("TMP")){
        if(requestdecision(getString(R.string.note_warning)))
        {
        }
        else
            return;
    }
    FileOutputStream fos = null;
    try {
        fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        showmessage("Fehler beim Erstellen der Datei");
    }
    try {
        fos.write(content.getBytes());
        fos.close();
        showmessage("Erfolgreich gespeichert!");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        showmessage("Fehler beim Schreiben");
    }
}

java int数组写入文件速度_java写入文件_java将字符串写入文件

showmessage()只是一个显示简单信息对话框的函数

java将字符串写入文件_java写入文件_java int数组写入文件速度

谢谢你的建议

java int数组写入文件速度_java将字符串写入文件_java写入文件

编辑:我刚刚发现,如果重新打开通知/文件java将字符串写入文件,输出会发生变化。因此,我在这里发布了阅读功能:

public void openNote(View view){
    String FileName=editText_name.getText().toString();
    if (FileName.equals("LISTOFALLNOTES") || FileName.equals("TMP") || FileName.equals("MAIN_DATA")){
        if(requestdecision(getString(R.string.note_warning)))
            {}
        else
            return;
    }
    editText_note.setText(readNote(FileName).toString());
}
public String readNote(String name){
    File file = new File(this.getFilesDir(), name);
    int length = (int) file.length();
    String contents;
    byte[] bytes = new byte[length];
    FileInputStream in = null;
    try {
        in = new FileInputStream(file);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        showmessage("Datei nicht gefunden");
        e.printStackTrace();
        contents = "";
    }
    try {
        in.read(bytes);
        in.close();
        contents=bytes.toString();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        showmessage("Konnte nicht lesen");
        e.printStackTrace();
        contents = "";
    }
}

奇怪的是,这也改变了。这是否意味着文件在读取过程中被保存

Edit2:我刚刚发现文件本身(使用根文件浏览器读取)是正常写入的,所以问题一定是在读取过程中