我正在使用android中的数据持久性,我正在尝试做一个简单的应用程序,用于保存字符串(如议程),以便即使关闭应用程序也可以再次获取它们。
它已经在工作,但是我遇到的问题是当我尝试取回数据时,将ByteArray更改为String:
保存数据:
fun saveShopData(newItem:String,context: Context){
var file =
context.openFileOutput("shoppingList",Context.MODE_PRIVATE)
file.write(newItem.toByteArray(charset = Charsets.US_ASCII))
file.close()
}
编写并添加:
var file = openFileInput("shoppingList")
facade.addItem(file.read().toString())
file.close()
问题是当我使用toString而不是我使用的字符串时,我得到一个Int,可能是因为BiteArray形式。我可以做些什么来获取实际的String?
在此先感谢您的英语不好。
答案 0 :(得分:0)
您拥有的是InputStream,我想您可以按照此处的示例检索文本:)
答案 1 :(得分:0)
因此,将InputStream转换为String的方法是:
var file = openFileInput("shoppingList")
var inReader = BufferedReader(file.reader())
facade.addItem(inReader.readText())
1。创建一个BufferedReader并传递一个从文件中读取的file.reader()。
2。使用BufferReader来使用readText(),您将获得所需的String。