[java] view plain copy
  1. packagecom.xplus.mytxttest;
  2. importjava.io.ByteArrayOutputStream;
  3. importjava.io.File;
  4. importjava.io.FileInputStream;
  5. importjava.io.FileNotFoundException;
  6. importjava.io.FileOutputStream;
  7. importjava.io.IOException;
  8. importjava.io.InputStream;
  9. importandroid.app.Activity;
  10. importandroid.content.Context;
  11. importandroid.graphics.Bitmap;
  12. importandroid.graphics.BitmapFactory;
  13. importandroid.os.Bundle;
  14. importandroid.os.Environment;
  15. importandroid.view.View;
  16. importandroid.view.View.OnClickListener;
  17. importandroid.widget.Button;
  18. importandroid.widget.EditText;
  19. importandroid.widget.ImageView;
  20. importandroid.widget.TextView;
  21. importandroid.widget.Toast;
  22. publicclassActivitySdCardextendsActivity{
  23. privateButtonbtn_write;
  24. privateButtonbtn_read;
  25. privateEditTextedit_write;
  26. privateTextViewview_read;
  27. privateTextViewtext_info;
  28. privateImageViewimg_image1;
  29. privateImageViewimg_image2;
  30. privateImageViewimg_image3;
  31. privateImageViewimg_image4;
  32. privateImageViewimg_image5;
  33. privateTextViewtext_image1;
  34. privateTextViewtext_image2;
  35. privateTextViewtext_image3;
  36. privateTextViewtext_image4;
  37. privateTextViewtext_image5;
  38. privateintflag=0;
  39. @Override
  40. protectedvoidonCreate(BundlesavedInstanceState){
  41. //TODOAuto-generatedmethodstub
  42. super.onCreate(savedInstanceState);
  43. setContentView(R.layout.main_sd);
  44. init();
  45. System.out.println("CodeEncoding:"+getCodeEncoding());
  46. if(Environment.getExternalStorageState().equals(
  47. Environment.MEDIA_MOUNTED)){
  48. Filefile=newFile(Environment.getExternalStorageDirectory(),
  49. "my.txt");
  50. try{
  51. FileInputStreaminStream=newFileInputStream(file);
  52. //内存中开辟一段缓冲区
  53. byte[]buffer=newbyte[1024];
  54. //创建一个字节输出流
  55. ByteArrayOutputStreamoutStream=newByteArrayOutputStream();
  56. //读取出来的数据首先放入缓冲去,,满了之后再写到字符输出流
  57. intlen;
  58. while((len=inStream.read(buffer))!=-1){
  59. outStream.write(buffer,0,len);
  60. }
  61. inStream.close();
  62. outStream.close();
  63. System.out.println(outStream.toString());
  64. String[]arrStr=outStream.toString().split("-");
  65. queryPic(arrStr);
  66. }
  67. catch(Exceptione){
  68. //TODO:handleexception
  69. }
  70. btn_read.setOnClickListener(newOnClickListener(){
  71. @Override
  72. publicvoidonClick(Viewv){
  73. try{
  74. FilesdCardDir=Environment
  75. .getExternalStorageDirectory();
  76. System.out.println(sdCardDir.toString());
  77. if(Environment.getExternalStorageState().equals(
  78. Environment.MEDIA_MOUNTED)){
  79. FilereadFile=newFile(sdCardDir,"my.txt");
  80. FileInputStreamistream=newFileInputStream(
  81. readFile);
  82. //内存中开辟一段缓冲区
  83. byte[]buffer=newbyte[1024];
  84. //创建一个字节输出流
  85. ByteArrayOutputStreamostream=newByteArrayOutputStream();
  86. //读取出来的数据首先放入缓冲去,,满了之后再写到字符输出流
  87. intlen;
  88. while((len=istream.read(buffer))!=-1){
  89. ostream.write(buffer,0,len);
  90. }
  91. ostream.close();
  92. istream.close();
  93. StringtxtStr=ostream.toString();
  94. view_read.setText(txtStr);
  95. }
  96. }catch(FileNotFoundExceptione){
  97. //TODOAuto-generatedcatchblock
  98. e.printStackTrace();
  99. }catch(IOExceptione){
  100. //TODOAuto-generatedcatchblock
  101. e.printStackTrace();
  102. }
  103. }
  104. });
  105. btn_write.setOnClickListener(newOnClickListener(){
  106. @Override
  107. publicvoidonClick(Viewv){
  108. try{
  109. System.out.println("write");
  110. FilesdCardDir=Environment
  111. .getExternalStorageDirectory();
  112. System.out.println(Environment
  113. .getExternalStorageState());
  114. if(Environment.getExternalStorageState().equals(
  115. Environment.MEDIA_MOUNTED)){
  116. System.out.println("write");
  117. FilesaveFile=newFile(sdCardDir,"my.txt");
  118. FileOutputStreamfos=newFileOutputStream(
  119. saveFile);
  120. fos.write(edit_write.getText().toString()
  121. .getBytes());
  122. fos.close();
  123. Toast.makeText(ActivitySdCard.this,"写入成功",
  124. Toast.LENGTH_SHORT).show();
  125. }
  126. }catch(FileNotFoundExceptione){
  127. //TODOAuto-generatedcatchblock
  128. e.printStackTrace();
  129. }catch(IOExceptione){
  130. //TODOAuto-generatedcatchblock
  131. e.printStackTrace();
  132. }
  133. }
  134. });
  135. }
  136. }
  137. privatevoidinit(){
  138. btn_read=(Button)findViewById(R.id.button_sd_read);
  139. btn_write=(Button)findViewById(R.id.button_sd_write);
  140. edit_write=(EditText)findViewById(R.id.editText_sd_edit);
  141. view_read=(TextView)findViewById(R.id.textView_sd_text);
  142. text_info=(TextView)findViewById(R.id.textView_sd_info);
  143. img_image1=(ImageView)findViewById(R.id.imageView_sd_image1);
  144. img_image2=(ImageView)findViewById(R.id.imageView_sd_image2);
  145. img_image3=(ImageView)findViewById(R.id.imageView_sd_image3);
  146. img_image4=(ImageView)findViewById(R.id.imageView_sd_image4);
  147. img_image5=(ImageView)findViewById(R.id.imageView_sd_image5);
  148. text_image1=(TextView)findViewById(R.id.textView_sd_text1);
  149. text_image2=(TextView)findViewById(R.id.textView_sd_text2);
  150. text_image3=(TextView)findViewById(R.id.textView_sd_text3);
  151. text_image4=(TextView)findViewById(R.id.textView_sd_text4);
  152. text_image5=(TextView)findViewById(R.id.textView_sd_text5);
  153. }
  154. privatevoidqueryPic(String[]str){
  155. img_image1.setImageBitmap(BitmapFactory.decodeFile(str[flag]));
  156. text_image1.setText("名称:"+str[++flag]+"\n价格:"+str[++flag]);
  157. img_image2.setImageBitmap(BitmapFactory.decodeFile(str[++flag]));
  158. text_image2.setText("名称:"+str[++flag]+"\n价格:"+str[++flag]);
  159. img_image3.setImageBitmap(BitmapFactory.decodeFile(str[++flag]));
  160. text_image3.setText("名称:"+str[++flag]+"\n价格:"+str[++flag]);
  161. img_image4.setImageBitmap(BitmapFactory.decodeFile(str[++flag]));
  162. text_image4.setText("名称:"+str[++flag]+"\n价格:"+str[++flag]);
  163. img_image5.setImageBitmap(BitmapFactory.decodeFile(str[++flag]));
  164. text_image5.setText("名称:"+str[++flag]+"\n价格:"+str[++flag]);
  165. }
  166. privateStringgetCodeEncoding(){
  167. Stringcode="gb2312";
  168. try{
  169. InputStreaminputStream=newFileInputStream(
  170. Environment.getExternalStorageDirectory()+"/my.txt");
  171. byte[]head=newbyte[3];
  172. inputStream.read(head);
  173. if(head[0]==-1&&head[1]==-2){
  174. code="UTF-16";
  175. }
  176. if(head[0]==-2&&head[1]==-1){
  177. code="Unicode";
  178. }
  179. if(head[0]==-17&&head[1]==-69&&head[2]==-65){
  180. code="UTF-8";
  181. }
  182. }catch(FileNotFoundExceptione){
  183. //TODOAuto-generatedcatchblock
  184. e.printStackTrace();
  185. }catch(IOExceptione){
  186. //TODOAuto-generatedcatchblock
  187. e.printStackTrace();
  188. }
  189. returncode;
  190. }
  191. @Override
  192. protectedvoidonDestroy(){
  193. //TODOAuto-generatedmethodstub
  194. super.onDestroy();
  195. }
  196. }

xml

[html] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <LinearLayout
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content">
  9. <Button
  10. android:id="@+id/button_sd_write"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:text="write"/>
  14. <Button
  15. android:id="@+id/button_sd_read"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content"
  18. android:text="read"/>
  19. </LinearLayout>
  20. <LinearLayout
  21. android:layout_width="match_parent"
  22. android:layout_height="wrap_content">
  23. <EditText
  24. android:id="@+id/editText_sd_edit"
  25. android:layout_width="wrap_content"
  26. android:layout_height="wrap_content"
  27. android:layout_weight="1"
  28. android:ems="10"
  29. android:inputType="textPersonName">
  30. <requestFocus/>
  31. </EditText>
  32. </LinearLayout>
  33. <TextView
  34. android:id="@+id/textView_sd_text"
  35. android:layout_width="wrap_content"
  36. android:layout_height="wrap_content"
  37. android:text="读取的内容"/>
  38. <LinearLayout
  39. android:layout_width="match_parent"
  40. android:layout_height="wrap_content"
  41. android:orientation="vertical">
  42. <TableLayout
  43. android:layout_width="wrap_content"
  44. android:layout_height="wrap_content"
  45. android:layout_gravity="center">
  46. <TableRow
  47. android:id="@+id/tableRow1"
  48. android:layout_width="wrap_content"
  49. android:layout_height="wrap_content">
  50. <ImageView
  51. android:id="@+id/imageView_sd_image1"
  52. android:layout_width="wrap_content"
  53. android:layout_height="wrap_content"
  54. android:src="@drawable/ic_action_search"/>
  55. <ImageView
  56. android:id="@+id/imageView_sd_image2"
  57. android:layout_width="wrap_content"
  58. android:layout_height="wrap_content"
  59. android:src="@drawable/ic_action_search"/>
  60. <ImageView
  61. android:id="@+id/imageView_sd_image3"
  62. android:layout_width="wrap_content"
  63. android:layout_height="wrap_content"
  64. android:src="@drawable/ic_action_search"/>
  65. <ImageView
  66. android:id="@+id/imageView_sd_image4"
  67. android:layout_width="wrap_content"
  68. android:layout_height="wrap_content"
  69. android:src="@drawable/ic_action_search"/>
  70. <ImageView
  71. android:id="@+id/imageView_sd_image5"
  72. android:layout_width="wrap_content"
  73. android:layout_height="wrap_content"
  74. android:src="@drawable/ic_action_search"/>
  75. </TableRow>
  76. <TableRow
  77. android:id="@+id/tableRow2"
  78. android:layout_width="wrap_content"
  79. android:layout_height="wrap_content">
  80. <TextView
  81. android:id="@+id/textView_sd_text1"
  82. android:layout_width="wrap_content"
  83. android:layout_height="wrap_content"
  84. android:layout_gravity="center"
  85. android:text="1"
  86. android:textSize="20dip"/>
  87. <TextView
  88. android:id="@+id/textView_sd_text2"
  89. android:layout_width="wrap_content"
  90. android:layout_height="wrap_content"
  91. android:layout_gravity="center"
  92. android:text="2"
  93. android:textSize="20dip"/>
  94. <TextView
  95. android:id="@+id/textView_sd_text3"
  96. android:layout_width="wrap_content"
  97. android:layout_height="wrap_content"
  98. android:layout_gravity="center"
  99. android:text="3"
  100. android:textSize="20dip"/>
  101. <TextView
  102. android:id="@+id/textView_sd_text4"
  103. android:layout_width="wrap_content"
  104. android:layout_height="wrap_content"
  105. android:layout_gravity="center"
  106. android:text="4"
  107. android:textSize="20dip"/>
  108. <TextView
  109. android:id="@+id/textView_sd_text5"
  110. android:layout_width="wrap_content"
  111. android:layout_height="wrap_content"
  112. android:layout_gravity="center"
  113. android:text="5"
  114. android:textSize="20dip"/>
  115. </TableRow>
  116. </TableLayout>
  117. </LinearLayout>
  118. <TextView
  119. android:id="@+id/textView_sd_info"
  120. android:layout_width="wrap_content"
  121. android:layout_height="wrap_content"
  122. android:layout_gravity="center"
  123. android:text="图片描述信息"/>
  124. </LinearLayout>

如果要读取txt中的信息,可以用BufferedReader实现一行一行的读取,然后将读取的数据添加到一个List中,再通过List获取需要的数据即可。

[java] view plain copy
  1. Filefile=newFile(firstPath+secondPath+thirdPath[flag],
  2. "/akinndo.txt");
  3. BufferedReaderreader=newBufferedReader(newFileReader(file));
  4. Stringr=reader.readLine();
  5. while(r!=null){
  6. String[]informations=r.split(",");
  7. Map<String,String>map=newHashMap<String,String>();
  8. map.put("dir",firstPath+informations[0]);
  9. map.put("description",informations[1]);
  10. list.add(map);
  11. r=reader.readLine();
  12. }

更多相关文章

  1. Android得到SD卡文件夹大小以及删除文件夹操作
  2. android读取扫码模组数据的方法
  3. Android判断下载File是否为apk文件
  4. android 读取资源字符串的 方法
  5. Android(安卓)获取手机号码
  6. Android(安卓)读取sdcard指定目录文件
  7. Android从远程服务器下载文件到本地sd卡中
  8. (转)Android软件测试的日志文件抓取简介
  9. 读取Activity/Processes的PID(Android)

随机推荐

  1. react-native 修改app应用名称
  2. Android,APP图标尺寸
  3. Android在putString和getString使用方法
  4. Android(安卓)号码, 来电归属地 Jni 使用
  5. java获取http:图片下载代码——android基
  6. Android(安卓)makefile 组织结构
  7. android 源码分享
  8. LEADTOOLS Android的入门使用方法
  9. Android(安卓)Fragment详解(四):管理Fragm
  10. Android(安卓)SDK Manager顺利下载