Android 读写文件整理
16lz
2021-01-23
很简单的整理 ,最近实在心力憔悴,贴上整理代码:
package xiaolei.sun.readwrite;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Xml;import android.view.View;import android.view.accessibility.AccessibilityEvent;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintStream;import java.io.RandomAccessFile;public class MainActivity extends AppCompatActivity { private TextView textview; private ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview = (TextView) findViewById(R.id.textview); imageView = (ImageView) findViewById(R.id.iv_imageview); } public void btn_imagefuc(View view) { String path = null; try { path = Environment.getExternalStorageDirectory().getCanonicalPath() + "/a.png"; //字节流 FileInputStream fs = new FileInputStream(path); //字节缓冲流 BufferedInputStream bufferedInputStream = new BufferedInputStream(fs); //bufferedInputStream作为一个流的缓冲池,提高流的写入性能呢 //在加载前可计算图像大小,进行图片压缩 // 将流转换为bitmap Bitmap bitmap = BitmapFactory.decodeStream(bufferedInputStream); imageView.setImageBitmap(bitmap); bufferedInputStream.close(); fs.close(); bitmap = null; } catch (IOException e) { e.printStackTrace(); } Toast.makeText(MainActivity.this, "123", Toast.LENGTH_SHORT).show(); } public void getSDfuc(View view) { boolean equals = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED); File externalStorageDirectory = Environment.getExternalStorageDirectory(); Toast.makeText(MainActivity.this, externalStorageDirectory + "", Toast.LENGTH_SHORT).show(); } public void SDwritefuc(View view) { writetoSDcard("SD card example !!!"); Toast.makeText(MainActivity.this, "SD write !!!", Toast.LENGTH_SHORT).show(); } /** * 将数据写入SD卡 * * @param content */ public void writetoSDcard(String content) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))// 判断SD卡是否进行挂载 { File externalStorageDirectory = Environment.getExternalStorageDirectory();// 获取SD卡路径 // 创建一个文件,并使用RandomAccessFile进行文件写入 try { File file = new File(externalStorageDirectory.getCanonicalPath() + "/text.txt"); RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rw"); randomAccessFile.seek(file.length()); randomAccessFile.write(content.getBytes());//数据写入 randomAccessFile.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * 读取SD卡中的内容 * * @return */ public String ReadFromSDcard() { File externalStorageDirectory = Environment.getExternalStorageDirectory(); //获取SD卡路径 try { //获取读取流 FileInputStream fileInputStream = new FileInputStream(externalStorageDirectory.getCanonicalPath() + "/text.txt"); //将读取流转换为bufferReader BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream)); StringBuilder stringBuilder = new StringBuilder(""); String line = null; //使用bufferReader将stringBuilder拼接起来 while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); } bufferedReader.close(); return stringBuilder.toString(); } catch (IOException e) { e.printStackTrace(); } return null; } public void SDreadfuc(View view) { textview.setText(ReadFromSDcard()); ; Toast.makeText(MainActivity.this, "SD read !!!", Toast.LENGTH_SHORT).show(); } public void getdirfuc(View view) { File dir = getDir("dirtext.txt", MODE_APPEND);// 在应用程序下获取路径 File filesDir = getFilesDir(); String[] strings = fileList(); deleteFile("text.txt"); Toast.makeText(MainActivity.this, strings[0], Toast.LENGTH_SHORT).show(); } public void writefuc(View view) { write("this is a text file!!!"); Toast.makeText(MainActivity.this, "write", Toast.LENGTH_SHORT).show(); } public void readfuc(View view) { textview.setText(read()); Toast.makeText(MainActivity.this, "read", Toast.LENGTH_SHORT).show(); } public void write(String content) { try { FileOutputStream fileOutputStream = openFileOutput("text.txt", MODE_APPEND); PrintStream printStream = new PrintStream(fileOutputStream); printStream.println(content); printStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } public String read() { try { FileInputStream fileInputStream = openFileInput("text.txt"); byte[] bytes = new byte[1024]; int hasread = 0; StringBuilder stringBuilder = new StringBuilder(""); while ((hasread = fileInputStream.read(bytes)) > 0) { stringBuilder.append(new String(bytes, 0, hasread)); } fileInputStream.close(); return stringBuilder.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }}
更多相关文章
- android 下载文件图片圆形进度条
- Android将assets文件复制到sd卡上
- Android文件上传
- Windows下使用platform.pk8 和platform.x509.pem生成Android stu
- android工程没有gen路径
- android 上传文件到服务器
- Android读取XML文件(DOM)