ReadRawAndAssetsActivity代码:
public class ReadRawAndAssetsActivity extends AppCompatActivity {
private Button raw, assets;
private TextView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read_raw_and_assets);
raw = (Button) findViewById(R.id.raw);
assets = (Button) findViewById(R.id.assets);
show = (TextView) findViewById(R.id.show);
raw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
show.setText(readRaw());
}
});
assets.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
show.setText(readAssets());
}
});
}
//读取assets目录 不能写入
public String readAssets() {
StringBuilder sbd = new StringBuilder();
BufferedReader reader = null;
try {
InputStream is = getResources().getAssets().open("city");
reader = new BufferedReader(new InputStreamReader(is));
String row = "";
while ((row = reader.readLine()) != null) {
sbd.append(row);
sbd.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sbd.toString();
}
//读取Raw文件 只能读不能写
public String readRaw() {
//有汉字用字符流来读
StringBuilder sbd = new StringBuilder();
BufferedReader reader = null;
InputStream is = null;
is = getResources().openRawResource(R.raw.settings);
reader = new BufferedReader(new InputStreamReader(is));
String row = "";
try {
while ((row = reader.readLine()) != null) {
sbd.append(row);
sbd.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sbd.toString();
}
}
activity_read_raw_and_assets布局文件:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context="com.example.dell.jreduch008.ReadRawAndAssetsActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/raw"
android:text="读取raw"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_marginStart="64dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/assets"
android:text="读取assets"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="50dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/show"
android:layout_alignParentBottom="true"
android:layout_below="@+id/raw"
android:layout_alignParentStart="true" />
</RelativeLayout>