• 保存到桌面  加入收藏  设为首页
安卓应用

安卓-代码--保存文件、输入输出流、socket通信

时间:2016-10-18 12:38:35   作者:胜行天下   来源:胜行天下   阅读:407   评论:0
一、本例是保存bitmap图片(bmp格式)

String SAVE_PIC_PATH = Environment.getExternalStorageDirectory().getPath() + "/selfassistterminal/saveidimage";
File f = new File(SAVE_PIC_PATH);
if (!f.exists()) { //好像不可少
f.mkdirs();
}
File myCaptureFile = new File(SAVE_PIC_PATH, FileName); //好像不可少,因为createNewFile()方法中没有生成文件夹
if (!myCaptureFile.exists()) {
myCaptureFile.createNewFile();
}
Log.i("test save path and name", SAVE_PIC_PATH + "/" + FileName);


/*
*这里是将图片写入输出流
*/
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(myCaptureFile));
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos);
bos.flush();
bos.close();


/*
*这里读取bmp图片
*/
public Bitmap readBitmap(String persononename) {
String SAVE_PIC_PATH = Environment.getExternalStorageDirectory()
.getPath() + "/selfassistterminal/saveidimage";

;
Bitmap bm = BitmapFactory.decodeFile(SAVE_PIC_PATH + "/"
+ persononename + ".bmp");
return bm;

}
---------------------------------------------------------

二、另外输出流、输入流相关说明、举例
(应该还要查java中的字节流、字符流的用法区别)

从输入流中读取字符串

  URL url = new URL("http://www.baidu.com");
        HttpURLConnection connection = null;
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setReadTimeout(8000);
        connection.setConnectTimeout(8000);
        
        InputStream in = connection.getInputStream();
        InputStreamReader is = new InputStreamReader(in);
        BufferedReader reader = new BufferedReader(is);
        StringBuilder builder = new StringBuilder();
        String line ;
        while((line = reader.readLine())!= null){
         builder.append(line);
//BufferedReader 不可追加,
//而StringBuilder 可以追加
        }
        String result = builder.toString();


向输入流中写入字符串

        connection.setRequestMethod("POST");
        OutputStream os = connection.getOutputStream();
        DataOutputStream out = new DataOutputStream(os);
        out.writeBytes("username=admin&password=123456");
        //不确定是否要关闭,可能需要flush();
        
        
//////

---------------------------------------------------------

三、从socket中发送数据,读取数据

1.写入数据   
        Socket socket = new Socket("192.169.1.222",8080);
        OutputStream os = socket.getOutputStream();
        OutputStreamWriter osw = new OutputStreamWriter(os);
        BufferedWriter bw = new BufferedWriter(osw);
        bw.write("hello world\r\n\r\n");
        bw.flush();
os.close();
        
2.读取数据
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
//BufferedReader 不可追加,
//而StringBuilder 可以追加
String s = "";
while ((s = br.readLine()) != null) {
Log.i("s", s);
}
is.close();







有任何疑问或技术合作都可联系我

微信:yanfahezuo 【推荐】

QQ:596957738


相关评论

加我微信 596957738 (QQ同号)加我微信     QQ联系:596957738    地址:江苏省南京市浦口区

苏ICP备2023050353号

   

苏公网安备32011402010305号

江节胜的Gitee,江节胜的Git地址