readline

Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例

☆樱花仙子☆ 提交于 2020-05-08 03:50:09
本文作者: CodingBlock 文章链接: http://www.cnblogs.com/codingblock/p/8425736.html 进程间通讯篇系列文章目录: Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身 Android查缺补漏(IPC篇)-- Bundle、文件共享、ContentProvider、Messenger四种进程间通讯介绍 Android查缺补漏(IPC篇)-- 进程间通讯之AIDL详解 Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例 学过计算机网络的人多多少少对Socket都会有所了解,在Android中,我们也可以借助Socket来实现进程间通讯,即使对Socket不熟悉也没关系,本篇文章将会用一个非常简单的例子,来说明通过Socket实现进程间通讯的步骤,为了打消大家对Socket的陌生感,我们先来看看Socket的基本概念和用法。 一、Socket是什么 Socket又称“套接字”,是网络通信中的概念,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。网络上的两个程序通过一个双向的通讯链接实现数据交换,这个链接的一端称为一个Socket,它本身可以支持传输任意的字节流。 Socket分为流式套接字和用户数据报套接字两种,分别对应于网络的传输控制层的TCP和UDP协议。 TCP是面向链接的协议

【转】C#各个版本中的新增特性详解

笑着哭i 提交于 2020-05-07 19:55:56
转自:http://www.cnblogs.com/knowledgesea/p/6694979.html 序言 自从2000年初期发布以来,c#编程语言不断的得到改进,使我们能够更加清晰的编写代码,也更加容易维护我们的代码,增强的功能已经从1.0搞到啦7.0甚至7.1,每一次改过都伴随着.NET Framework库的相应支持,也不断的带给我们期待与惊喜。下面我们就对c#一路走到现在,做一个回顾与学习。 C#语言目标与前行 c#的设计目标是有以下几点: 旨在是一种简单,现代,通用的面向对象编程语言。 语言及其实现应该为软件工程原理提供支持,例如强类型检查,数组维度检查,未初始化的变量引用检测以及自动垃圾收集。软件的鲁棒性,耐久性和程序员的生产力很重要。 旨在用于开发适用于分布式环境中部署的软件组件。 便携性对于源代码和程序员非常重要,特别是已经熟悉C和C ++的程序员。 支持国际化是非常重要的。 C#适用于为托管和嵌入式系统编写应用程序,从使用复杂的操作系统到非常小的专用功能都非常适用。 虽然C#应用程序在内存和处理能力要求方面是经济的,但是该语言并不打算直接用C或汇编语言直接与性能和尺寸进行竞争。 c#版本 c#版本中添加的功能: C#2.0 泛型 部分类型 匿名方法 迭代器 可空类型 Getter / setter单独可访问性 方法组转换(代表) Co- and Contra

Java读取文本文件中文乱码问题

我只是一个虾纸丫 提交于 2020-05-07 18:42:39
最近遇到一个问题,Java读取文本文件(例如csv文件、txt文件等),遇到中文就变成乱码。读取代码如下: [java] view plain copy List<String> lines= new ArrayList<String>(); BufferedReader br = new BufferedReader( new FileReader(fileName)); String line = null; while ((line = br.readLine()) != null) { lines.add(line); } br.close(); 后来百度和Google了之后,终于找到原因,还是从原理开始讲吧: Java的I/O类处理如图: Reader 类是 Java 的 I/O 中读字符的父类,而 InputStream 类是读字节的父类,InputStreamReader 类就是关联字节到字符的桥梁,它负责在 I/O 过程中处理读取字节到字符的转换,而具体字节到字符的解码实现它由 StreamDecoder 去实现,在 StreamDecoder 解码过程中必须由用户指定 Charset 编码格式。值得注意的是如果你没有指定 Charset,将使用本地环境中的默认字符集,例如在中文环境中将使用 GBK 编码。 Java的I/O类处理图 总结:Java读取数据流的时候

python日记—语法错误 & 异常处理

一曲冷凌霜 提交于 2020-05-07 14:49:41
#1.语法错误 SyntaxError #2.异常 Exceptions #print(8/0) #处理单一异常 while True: try: #将可能会出现异常的语句放到try中 x = int(input('Enter an integer:')) break except ValueError: #如果出现异常,将跳到except中执行 print('Not valid input, try again...') #处理多种异常 try: f = open('file.txt') s = f.readline() i = int(s.strip()) except OSError as err: print('OS error:',err) 来源: oschina 链接: https://my.oschina.net/jugier/blog/4269288

基于贪心算法求解TSP问题(JAVA)

最后都变了- 提交于 2020-05-07 13:57:55
概述 前段时间在搞贪心算法,为了举例,故拿TSP来开刀,写了段求解算法代码以便有需之人,注意代码考虑可读性从最容易理解角度写,没有优化,有需要可以自行优化! 详细 代码下载: http://www.demodashi.com/demo/10267.html 前段时间在搞贪心算法,为了举例,故拿TSP来开刀,写了段求解算法代码以便有需之人,注意代码考虑可读性从最容易理解角度写,没有优化,有需要可以自行优化! 一、TPS问题 TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 TSP问题是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。TSP问题可以分为两类,一类是对称TSP问题(Symmetric TSP),另一类是非对称问题(Asymmetric TSP)。所有的TSP问题都可以用一个图(Graph)来描述: V={c1, c2, …, ci, …, cn},i = 1,2, …, n,是所有城市的集合.ci表示第i个城市,n为城市的数目; E={(r, s): r,s∈ V}是所有城市之间连接的集合; C

[C#] 控制电脑蓝牙与外部蓝牙设备通信

China☆狼群 提交于 2020-05-06 02:51:27
源码: https://github.com/chinayixia/c-bluetooth-pc-communicate-with-devices_20190820.git 控制台: using System; using System.IO; using System.Net.Sockets; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; // [注意1]:要添加如下三个命名空间 using InTheHand.Net; using InTheHand.Net.Bluetooth; using InTheHand.Net.Sockets; namespace cs_bt_20190820 { class Program { static void Main(string[] args) { BluetoothRadio bluetoothRadio = BluetoothRadio.PrimaryRadio; if (bluetoothRadio == null) { Console.WriteLine("没有找到本机蓝牙设备!"); Console.ReadLine(); } else { Program p = new

委托、匿名方法、Lambda表达式、泛型委托(自定义、Func、Action、Predicate)、约束泛型类和方法、多窗体传递消息、事件、异步编程、二次控件开发

我只是一个虾纸丫 提交于 2020-05-06 00:35:55
1.匿名方法   没有具体名称,只有委托关键字、方法参数、方法体,所以称之为匿名方法   匿名方法允许将代码块(方法体部分)通过委托变量作为参数传递,以代替独立定义的方法 总结:   方法体要以delegate开头,其后是参数列表,后面紧跟花括号编写方法体,最后以分号结尾   匿名方法是将方法定义与委托变量两个步骤合在一起,省略了方法的单独定义   如果一个方法有一个委托类型的参数,可以直接将匿名方法作为实参。 1 // 声明委托 2 public delegate int MyDelegate( int a, int b); 3 4 static void Main( string [] args) 5 { // 匿名方法 6 MyDelegate objDel = delegate ( int a, int b) 7 { 8 return a + b; 9 }; 10 Console.WriteLine(objDel( 10 , 20 )); 11 Console.ReadLine(); 12 } 匿名方法 2.lambda表达式   C#3.0引入lambda表达式,lambda表达式是匿名方法更简介使用的一种方式   (参数列表) => {方法体} =>读作goes to   lambda表达式参数列表中的参数类型可以是“明确”类型或者是“推断类型”(可以省略参数类型)  

Android:这是一份很详细的Socket使用攻略

本秂侑毒 提交于 2020-05-05 20:31:23
前言 Socket的使用在 Android网络编程中非常重要 今天我将带大家全面了解 Socket 及 其使用方法 目录 1.网络基础 1.1 计算机网络分层 计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层 其中: 网络层:负责根据IP找到目的地址的主机 运输层:通过端口把数据传到目的主机的目的进程,来实现进程与进程之间的通信 1.2 端口号(PORT) 端口号规定为16位,即允许一个IP主机有2的16次方65535个不同的端口。其中: 0~1023:分配给系统的端口号 我们不可以乱用 1024~49151:登记端口号,主要是让第三方应用使用 但是必须在IANA(互联网数字分配机构)按照规定手续登记, 49152~65535:短暂端口号,是留给客户进程选择暂时使用,一个进程使用完就可以供其他进程使用。 在Socket使用时,可以用1024~65535的端口号 1.3 C/S结构 定义:即客户端/服务器结构,是软件系统体系结构 作用:充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。 Socket正是使用这种结构建立连接的,一个套接字接客户端,一个套接字接服务器。 如图: 可以看出,Socket的使用可以基于TCP或者UDP协议。 1.4 TCP协议 定义:Transmission Control Protocol

Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】

可紊 提交于 2020-05-05 12:59:33
一、文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量 step2:通过句柄对文件进行操作 step3:关闭文件 举例: a = open( ' hello world ' , ' r ' , encoding = ' utf-8 ' ) # 打开 ‘hello world’ 文件,得到文件句柄并赋值给一个变量 a data = a.read() # 通过句柄对文件进行读操作 a.close() # 关闭文件 注意事项一: 关于 a.close() 关闭文件 打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。 在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为: 1、f.close() #回收操作系统级打开的文件 2、del f #回收应用程序级的变量 其中del f一定要发生在f.close()之后,否则就会导致操作系统打开的文件还没有关闭,白白占用资源。 而python自动的垃圾回收机制决定了我们无需考虑del f。 这就要求我们,在操作完毕文件后,一定要记住f.close() 简单的来说,每 open() 一个文件,就要求我们必须 close() 用关键字 with ,可以使用 close() with open( ' hello world ' , ' r ' , encoding = ' utf-8 ' ) as a

Event Recommendation Engine Challenge分步解析第三步

ぃ、小莉子 提交于 2020-05-05 04:18:21
一、请知晓   本文是基于:    Event Recommendation Engine Challenge分步解析第一步    Event Recommendation Engine Challenge分步解析第二步  需要读者先阅读前两篇文章解析 二、用户社交关系信息处理   这一步需要 user_friends.csv.gz 文件,我们先来看看文件内容: import pandas as pd df_user_friends = pd.read_csv('user_friends.csv.gz', compression='gzip') df_user_friends.head()   代码示例结果(发现该记录了用户的所有朋友信息):   1)变量解释    nusers:train.csv 和 test.csv 文件涉及的所有用户数目,3391    self.numFriends: 一维向量,每个元素记录了(3391个)每个用户的朋友数目,然后除以总的朋友数( sumNumFriends ),得到每个用户的朋友占比 import scipy.io as sio import pandas as pd numFriends = sio.mmread('UF_numFriends') pd.DataFrame(numFriends)    代码示例结果:    self