Android 中各种文件输入输出流
来源:互联网 发布:caxa画图软件 编辑:程序博客网 时间:2024/06/05 23:51
0: 输入流
InputStream->HttpURLConnection.getInputStream
->getResource().openRawResource(R.raw.a);->xmlPullParser.setInput(inputStream, "utf-8");
->xmlReader.parse(new InputSource(getResources().openRawResource(R.raw.worker)));
FileInputStream相对与InputStream 这个构造方法里面可以放地址
BufferedInputStream 里面的参数是InputStream,其实就是InputStream的缓存流,因为FileInputStream 集成了InputStream ,所以也可以放FileInputStream
-----------------------------------------------------------------------
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getCacheDir().getPath()+"/print.txt")));
1:输出流
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++OutputStream->HttpURLConnection.getOutputStream
FileOutputStream相对于OutputStream 这个构造方法啊里面可以放地址:FileOutputStream fos = new FileOutputStream(getCacheDir().getPath()+"/1.bmp");
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(getCacheDir().getPath()+"/3.bmp"));
-----------------------------------------------------------------------
PrintStream ps = new PrintStream(getCacheDir().getPath()+"/print.txt");
ByteArrayOutputStream bos = new ByteArrayOutputStream();
BufferedWriter bw = new BufferedWriter(new FileWriter(recordFile));
PrintWriter pw = new PrintWriter(new FileWriter("qq.txt"),true);->服务器端的PrintWriter,直接就是文本,所以用字符输出流
+++++++++++++++++++++++++++++++++++++++++++++++++
0: 输入流
InputStream->HttpURLConnection.getInputStream
->getResource().openRawResource(R.raw.a);->xmlPullParser.setInput(inputStream, "utf-8");
->xmlReader.parse(new InputSource(getResources().openRawResource(R.raw.worker)));
InputStream in</span> = null; FileOutputStream fos = null; if (httpURLConnection.getResponseCode() == 200) { in = httpURLConnection.getInputStream(); fos = new FileOutputStream(getCacheDir().getPath()+"a.bmp"); byte[] arr = new byte[1024]; int len = 0; //每次读取 1024个字节,如果读取返回为-1说明到了文件的末尾,结束读取 while ((len = in.read(arr)) != -1) { fos.write(arr, 0, len); } //一定要记住要关闭读取流。 in.close(); fos.close(); }
//XmlPullParser的工厂类 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); XmlPullParser xmlPullParser = factory.newPullParser(); //xmlPullParser.setInput的第一个参数就是 InputStream, //这里是将xml 文件放在了raw文件夹里面,然后通过getResources().openRawResource(R.raw.worker)来获取 InputStream inputStream = getResources().openRawResource(R.raw.worker); //开始读取文件,并设置编码类型为utf-8 xmlPullParser.setInput(inputStream, "utf-8"); //获取event的类型,然后循环直至END_DOCUMENT,循环的增加条件一定不能忘记eventType=xmlPullParser.next(); int eventType = xmlPullParser.getEventType();
//SAX 的工厂类 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); SAXParser saxParser = saxParserFactory.newSAXParser(); // 通过parser得到XMLReader对象 XMLReader xmlReader = saxParser.getXMLReader(); //创建MyHandler的实例 MyHandler saxHandler = new MyHandler(); //将saxHanlder 放入xmlReader中。 xmlReader.setContentHandler(saxHandler); xmlReader.parse(new InputSource(getResources().openRawResource(R.raw.worker))); //此时通过MyHandler 里面的方法来获取List<Worker> saxList = saxHandler.getmList();
FileInputStream相对与InputStream 这个构造方法里面可以放地址
BufferedInputStream 里面的参数是InputStream,其实就是InputStream的缓存流,因为FileInputStream 集成了InputStream ,所以也可以放FileInputStream
//实例3 使用字节流的缓冲区复制一张图片 public void example3CopyImage() throws IOException{ BufferedInputStream bis = new BufferedInputStream(getResources().openRawResource(R.raw.a)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(getCacheDir().getPath()+"/3.bmp")); byte[] arr = new byte[1024]; int len=0; while ((len=bis.read(arr))!=-1){ bos.write(arr,0,len); } bis.close(); bos.close(); }
-----------------------------------------------------------------------
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getCacheDir().getPath()+"/print.txt")));
//实例9,字符输出流 public void example9PrintWriter() throws IOException{ Log.d("kodulf", "实例9++++++++开始+++++++++++++"); /* PrintWriter:字符输出流,字符输出流的基本功能都具备了,增加了打印功能 可以操作的目的: File类型的文件 字符串类型的文件 字节输出流 字符数出流 */ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getCacheDir().getPath()+"/print.txt"))); //PrintWriter pw = new PrintWriter(System.out,true);//自动刷新 PrintWriter pw = new PrintWriter(new FileWriter("qq.txt"),true);//自动刷新 String line = null; while((line = br.readLine())!=null) { if("over".equals(line)) break; pw.println(line); //pw.write(line); //pw.write("\r\n"); //pw.flush(); } br.close(); pw.close(); Log.d("kodulf", "实例9++++++++结束+++++++++++++"); }
1:输出流
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++OutputStream->HttpURLConnection.getOutputStream
url = new URL("http://192.168.1.106:8080/ServerDemo/servlet/LoginServlert"); HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection(); urlConnection.setRequestMethod("POST"); urlConnection.setConnectTimeout(5000); urlConnection.setDoInput(true); urlConnection.setDoOutput(true);//设置可以向服务器传递数据 //设置提交的内容的类型 urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); //设置提交的内容的长度 byte[] data = sb.toString().getBytes("utf-8");//注意这里的编码utf-8 urlConnection.setRequestProperty("Content-Length", String.valueOf(data.length)); //提交数据 OutputStream outputStream = urlConnection.getOutputStream(); outputStream.write(data); outputStream.close();
FileOutputStream相对于OutputStream 这个构造方法啊里面可以放地址:FileOutputStream fos = new FileOutputStream(getCacheDir().getPath()+"/1.bmp");
1.1 需要存储的我们使用FileOutputStream 将它写入到文件中 InputStream in = null; FileOutputStream fos = null; if (httpURLConnection.getResponseCode() == 200) { in = httpURLConnection.getInputStream(); fos = new FileOutputStream(getCacheDir().getPath()+"a.bmp"); byte[] arr = new byte[1024]; int len = 0; //每次读取 1024个字节,如果读取返回为-1说明到了文件的末尾,结束读取 while ((len = in.read(arr)) != -1) { fos.write(arr, 0, len); } //一定要记住要关闭读取流。 in.close(); fos.close(); }
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(getCacheDir().getPath()+"/3.bmp"));
//实例3 使用字节流的缓冲区复制一张图片 public void example3CopyImage() throws IOException{ BufferedInputStream bis = new BufferedInputStream(getResources().openRawResource(R.raw.a)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(getCacheDir().getPath()+"/3.bmp")); byte[] arr = new byte[1024]; int len=0; while ((len=bis.read(arr))!=-1){ bos.write(arr,0,len); } bis.close(); bos.close(); }
-----------------------------------------------------------------------
PrintStream ps = new PrintStream(getCacheDir().getPath()+"/print.txt");
//实例8 打印流,字节输出流 public void example8PrintStream() throws IOException{ Log.d("kodulf", "实例8++++++++开始+++++++++++++"); /*打印流: PrintStream:字节输出流,字节输出流的基本功能都具备了,又增加了打印功能 可以操作的目的: File类型的文件 字符串类型的文件 字节输出流 */ PrintStream ps = new PrintStream(getCacheDir().getPath()+"/print.txt"); //ps.write(97);// 00000000 00000000 00000000 01100001---->自动砍掉了前三个字节--->01100001 //ps.write(353);// 00000000 00000000 00000001 01100001---->自动砍掉了前三个字节--->01100001 //System.out.println(353); //ps.println(353);//按照数据原样儿写入到目的,也就是数据的表现形式,内部用了 String.valueOf() ps.write(String.valueOf(353).getBytes()); ps.close(); Log.d("kodulf", "实例8++++++++结束+++++++++++++"); }
ByteArrayOutputStream bos = new ByteArrayOutputStream();
//判断服务器端的响应码是不是200 InputStream in = null; if(urlConnection.getResponseCode()==200){ in = urlConnection.getInputStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] arr = new byte[1024]; int len=0; while((len=in.read(arr))!=-1){ bos.write(arr,0,len); } byte[] b = bos.toByteArray(); String ss = new String(b,"utf-8"); Log.d("kodulf",ss); } //关闭流 in.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(recordFile));
//实例7 得到指定目录下的所有的目录包括子目录下的,存到集合中,然后存到cache/record.text 文件中 //1:得到指定目录下的所有的Java文件包括子目录下的,存到集合中 //2:遍历集合,把集合中每个File对象写入到文件中 public void example7ListDirectorys() throws IOException{ Log.d("kodulf", "实例7++++++++开始+++++++++++++"); List<File> directorys = new ArrayList<File>(); File externalStorageDirectory = Environment.getExternalStorageDirectory(); listDirectorys(externalStorageDirectory, directorys); File recordFile = new File(getCacheDir(),"record.text"); BufferedWriter bw = new BufferedWriter(new FileWriter(recordFile)); for (File file:directorys){ bw.write(file.getName()); bw.newLine(); bw.flush(); } bw.close(); Log.d("kodulf", "实例7++++++++结束+++++++++++++"); }
PrintWriter pw = new PrintWriter(new FileWriter("qq.txt"),true);->服务器端的PrintWriter,直接就是文本,所以用字符输出流
//实例9,字符输出流 public void example9PrintWriter() throws IOException{ Log.d("kodulf", "实例9++++++++开始+++++++++++++"); /* PrintWriter:字符输出流,字符输出流的基本功能都具备了,增加了打印功能 可以操作的目的: File类型的文件 字符串类型的文件 字节输出流 字符数出流 */ BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(getCacheDir().getPath()+"/print.txt"))); //PrintWriter pw = new PrintWriter(System.out,true);//自动刷新 PrintWriter pw = new PrintWriter(new FileWriter("qq.txt"),true);//自动刷新 String line = null; while((line = br.readLine())!=null) { if("over".equals(line)) break; pw.println(line); //pw.write(line); //pw.write("\r\n"); //pw.flush(); } br.close(); pw.close(); Log.d("kodulf", "实例9++++++++结束+++++++++++++"); } }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); request.setCharacterEncoding("utf-8");//请求方式是 post //先得到客户端提交的用户名和密码 //因为客户端信息被封装在 request对象中,所以需要从request对象中获取用户名密码 String uname = request.getParameter("username");//?username= &psw= //String uname = fun(name); String psw = request.getParameter("password"); //验证 if(uname!=null&&uname.trim()!=""&&psw!=null&&psw.trim()!="") { if("哈哈".equals(uname) && "123".equals(psw)) { out.println("登陆成功"); } else out.println("登陆失败"); }else{ out.println("参数有问题"); } out.flush(); out.close(); /** response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); */ }
- Android 中各种文件输入输出流
- android中基本文件输入输出流的使用(代码)
- hadoop中各种输入输出格式
- Java中输入输出文件流操作
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- android中打开各种文件的方法
- Android 工程中各种文件的介绍
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- android工程中各种文件介绍
- Android 工程中各种文件的介绍
- Android 中各种XML文件的作用
- Android 中各种XML文件的作用
- Android 中各种资源文件的使用
- u-boot分析 四 (程序入口start.S)
- 编写c#程序,输出平均分和高于平均分的同学
- HDU 2857 Mirror and Light [计算几何]
- Nginx的安装,启动,停止,日志分割,从容停止,平滑升级
- 支持向量机理解
- Android 中各种文件输入输出流
- oracle基于odbc建立dblink访问sqlserver
- iOS极光整合
- 按钮带动画效果(1)
- 设计模式之单例模式
- 这是我的第一篇博客
- 用两个栈实现队列
- hdu2955 Robberies(01背包)
- 基本标签(一)