Android写入txt文件 admin 2023-09-06 11:37:23 篇首语:本文由小编为大家整理,主要介绍了Android写入txt文件相关的知识,希望对你有一定的参考价值。 public class MainActivity extends Activity @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv=new TextView(this); String myString =null; try URL myURL=new URL("http://172.17.12.81/helloworld?key=0"); URLConnection ucon = myURL.openConnection(); InputStream is = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1) baf.append((byte)current); myString = EncodingUtils.getString(baf.toByteArray(), "UTF-8"); catch(Exception e) myString = e.getMessage(); 通过URLConnection读取到的数据,怎样才能写入到本地的txt文件中呢? 分以下几个步骤:首先对manifest注册SD卡读写权限 androidManifest.xml android:versionCode="1" android:versionName="1.0" > android:minSdkVersion="8" android:targetSdkVersion="16" /> android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > android:name="com.tes.textsd.FileOperateActivity" android:label="@string/app_name" > 创建一个对SD卡中文件读写的类 FileHelper.java /** * @Title: FileHelper.java * @Package com.tes.textsd * @Description: TODO(用一句话描述该文件做什么) * @author Alex.Z * @date 2013-2-26 下午5:45:40 * @version V1.0 */ package com.tes.textsd; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import android.content.Context; import android.os.Environment; public class FileHelper private Context context; /** SD卡是否存在**/ private boolean hasSD = false; /** SD卡的路径**/ private String SDPATH; /** 当前程序包的路径**/ private String FILESPATH; public FileHelper(Context context) this.context = context; hasSD = Environment.getExternalStorageState().equals( android.os.Environment.MEDIA_MOUNTED); SDPATH = Environment.getExternalStorageDirectory().getPath(); FILESPATH = this.context.getFilesDir().getPath(); /** * 在SD卡上创建文件 * * @throws IOException */ public File createSDFile(String fileName) throws IOException File file = new File(SDPATH + "//" + fileName); if (!file.exists()) file.createNewFile(); return file; /** * 删除SD卡上的文件 * * @param fileName */ public boolean deleteSDFile(String fileName) File file = new File(SDPATH + "//" + fileName); if (file == null || !file.exists() || file.isDirectory()) return false; return file.delete(); /** * 写入内容到SD卡中的txt文本中 * str为内容 */ public void writeSDFile(String str,String fileName) try FileWriter fw = new FileWriter(SDPATH + "//" + fileName); File f = new File(SDPATH + "//" + fileName); fw.write(str); FileOutputStream os = new FileOutputStream(f); DataOutputStream out = new DataOutputStream(os); out.writeShort(2); out.writeUTF(""); System.out.println(out); fw.flush(); fw.close(); System.out.println(fw); catch (Exception e) /** * 读取SD卡中文本文件 * * @param fileName * @return */ public String readSDFile(String fileName) StringBuffer sb = new StringBuffer(); File file = new File(SDPATH + "//" + fileName); try FileInputStream fis = new FileInputStream(file); int c; while ((c = fis.read()) != -1) sb.append((char) c); fis.close(); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); return sb.toString(); public String getFILESPATH() return FILESPATH; public String getSDPATH() return SDPATH; public boolean hasSD() return hasSD; 写一个用于检测读写功能的的布局 main.xml android: android:layout_ android:layout_ android:text="hello" /> android: android:layout_ android:layout_ android:text="hello" /> android: android:layout_ android:layout_ android:text="hello" /> android: android:layout_ android:layout_ android:text="false" /> android: android:layout_ android:layout_ android:text="false" /> android: android:layout_ android:layout_ android:text="false" /> 就是UI的类了FileOperateActivity.class /** * @Title: FileOperateActivity.java * @Package com.tes.textsd * @Description: TODO(用一句话描述该文件做什么) * @author Alex.Z * @date 2013-2-26 下午5:47:28 * @version V1.0 */ package com.tes.textsd; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class FileOperateActivity extends Activity private TextView hasSDTextView; private TextView SDPathTextView; private TextView FILESpathTextView; private TextView createFileTextView; private TextView readFileTextView; private TextView deleteFileTextView; private FileHelper helper; @Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); hasSDTextView = (TextView) findViewById(R.id.hasSDTextView); SDPathTextView = (TextView) findViewById(R.id.SDPathTextView); FILESpathTextView = (TextView) findViewById(R.id.FILESpathTextView); createFileTextView = (TextView) findViewById(R.id.createFileTextView); readFileTextView = (TextView) findViewById(R.id.readFileTextView); deleteFileTextView = (TextView) findViewById(R.id.deleteFileTextView); helper = new FileHelper(getApplicationContext()); hasSDTextView.setText("SD卡是否存在:" + helper.hasSD()); SDPathTextView.setText("SD卡路径:" + helper.getSDPATH()); FILESpathTextView.setText("包路径:" + helper.getFILESPATH()); try createFileTextView.setText("创建文件:" + helper.createSDFile("test.txt").getAbsolutePath()); catch (IOException e) e.printStackTrace(); deleteFileTextView.setText("删除文件是否成功:" + helper.deleteSDFile("xx.txt")); helper.writeSDFile("1213212", "test.txt"); readFileTextView.setText("读取文件:" + helper.readSDFile("test.txt")); 参考技术A 得到流后用基本的java api的IO操作就可以完成文件存储了FileOutputStream fs = new FileOutputStream("a.txt",true);再写入你的内容就行了,不用我说具体怎么做了吧,能写程序到这样,后面你肯定知道的了本回答被提问者采纳 java 怎么将数据写入TXT文件怎么将int数组数据写入TXT文件 例如将int A[20];中的20个数据写入result.txt文件中 求大虾告诉我关键几句代码 定义一个输出文件,然后输出就可以了,具体见下面的代码 import java.io.*; public class StreamDemo public static void main(String args[]) File f = new File("c:\\temp.txt") ; OutputStream out = null ; try out = new FileOutputStream(f) ; catch (FileNotFoundException e) e.printStackTrace(); // 将字符串转成字节数组 byte b[] = "Hello World!!!".getBytes() ; try // 将byte数组写入到文件之中 out.write(b) ; catch (IOException e1) e1.printStackTrace(); try out.close() ; catch (IOException e2) e2.printStackTrace(); // 以下为读文件操作 InputStream in = null ; try in = new FileInputStream(f) ; catch (FileNotFoundException e3) e3.printStackTrace(); // 开辟一个空间用于接收文件读进来的数据 byte b1[] = new byte[1024] ; int i = 0 ; try // 将b1的引用传递到read()方法之中,同时此方法返回读入数据的个数 i = in.read(b1) ; catch (IOException e4) e4.printStackTrace(); try in.close() ; catch (IOException e5) e5.printStackTrace(); //将byte数组转换为字符串输出 System.out.println(new String(b1,0,i)) ; 参考技术A import java.io.FileWriter;import java.io.IOException;public class Test02 void writefile() throws IOException FileWriter fileWriter=new FileWriter("c:\\Result.txt"); int [] a=new int[]111,222,333,444,555,666; for (int i = 0; i < a.length; i++) fileWriter.write(String.valueOf(a[i])+" "); fileWriter.flush(); fileWriter.close(); public static void main(String[] args) throws IOException new Test02().writefile();//你看看,就这两句,测试通过了!本回答被提问者采纳 参考技术B I/O流PrintWriter实现 参考技术C 用FileWriterfile f = new file(filename);FileWriter fw=new FileWriter(f);fw.write(new String(A,0,20)); 参考技术D 回答的真好。不用补充了。以上是关于Android写入txt文件的主要内容,如果未能解决你的问题,请参考以下文章 ubuntu中如何卸载arm-linux-gcc-4.3.2.tgz outlook2007,开发的vsto插件,安装到客户机提示:未加载。加载COM加载项时出现运行错误 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号