我知道如何从其他语言(例如Visual Basic)下的文本文件中读取,并且已经学会了如何在Java中学习,但在Android Studio中我将如何实现这一目标?此外,在使用Visual Basic和Java时,我总是从计算机访问文本文件,但在Android Studio中有一种方法可以在项目中包含文本文件,以便在下载应用程序时它附带文本文件吗?此外,文本文件方法是存储数据时的方法还是其他方法?先感谢您。 :)
答案 0 :(得分:0)
你可以看看下面的代码来读取或写入android中的文件。我已经在android studio中编写了我的代码;
这是我的XML文件:
import re
data = '@#%%.Hol$a.A.$%'
pattern = r'[\w.].*[\w.]'
print(re.search(pattern, data).group(0))
# Output: .Hol$a.A.
这是我的Java文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="#008080"
android:padding="5dp"
android:text="Android File example"
android:textColor="#fff" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="22dp"
android:ems="10"
android:layout_margin="5dp">
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editText1"
android:text="Write Text into File"
android:onClick="WriteBtn"
android:layout_margin="5dp"/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/button1"
android:text="Read Text From file"
android:onClick="ReadBtn"
android:layout_margin="5dp" />
</RelativeLayout>
请不要忘记在清单中包含以下权限:
package com.example.sudiproy.fileexample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class MainActivity extends AppCompatActivity {
EditText textmsg;
static final int READ_BLOCK_SIZE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textmsg= (EditText) findViewById(R.id.editText1);
}
public void WriteBtn(){
try{
FileOutputStream fileOut=openFileOutput("myText.txt",MODE_PRIVATE);
OutputStreamWriter outputWriter=new OutputStreamWriter(fileOut);
outputWriter.write(textmsg.getText().toString());
outputWriter.close();
Toast.makeText(getBaseContext(), "File saved successfully!",
Toast.LENGTH_SHORT).show();
}
catch (Exception e){
e.printStackTrace();
}
}
public void ReadBtn(){
try{
FileInputStream fileIn=openFileInput("myText.txt");
InputStreamReader InputRead=new InputStreamReader(fileIn);
char[] inputBuffer=new char[READ_BLOCK_SIZE];
String s="";
int charRead = 0;
while ((charRead=InputRead.read(inputBuffer))>0) {
// char to string conversion
String readstring=String.copyValueOf(inputBuffer,0,charRead);
s +=readstring;
}
InputRead.close();
Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}