双网卡,静态路由设置失败。如何解决?

双网卡,静态路由设置失败。如何解决?,第1张

设置前需要先删除原来的路由。
下面一文供你参考:
双网卡下添加静态路由
系统平台:WIN81
情况描述:电脑上安装了2个网卡,一个连接外网(自动分配IP,路由地址为19216801),
一个连接单位内网(网卡静态IP为1037130130,网关1037130129,子网掩码255255255252,内网网段103700)
任务目标:按需访问内外网
*** 作方法:用管理员权限打开CMD,
1、删除默认路由:输入 route delete 0000 ( 0000是指所有地址)
2、添加静态路由
2-1,添加内网静态路由:route add 103700 mask 25525500 1037132129 -p
注:它表示访问103700网段的所有数据都要经过网关1037132129,-p表示Persistent(持久有效的意思,重启后依然生效)
2-2,添加外网静态路由:route add 0000 mask 0000 19216801 -p
注:它表示访问0000网址和0000网段,即任意网址任意网段,访问经过外网网关19216801。
3、设置完成后,输入route print 看一下路由表是否添加成功,再ping内外网的网址测试下是否有效。
经验教训:
我试验过好几次都失败,能上外网但上不了内网。检查后发现在2-1步骤中把目标地址的子网掩码范围设置的太小,我设置成了2552552550,忽视了内网中可能存在其他地址设置。如果想范围更大一些的话,还可以把子网掩码改成255000,目标地址改成10000
——————————————————————————————————————————
知识点:
ROUTE路由命令简单解说
ROUTE命令格式如下:
ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
其中 –f 参数用于清除路由表,-p参数用于永久保留某条路由(即在系统重启时不会丢失路由)。
Command主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE(修改)共4个命令。
Destination代表所要达到的目标IP地址。
MASK是子网掩码的关键字。Netmask代表具体的子网掩码,如果不加说明,默认是255255255255(单机IP地址),因此键入掩码时候要特别小心,要确认添加的是某个IP地址还是IP网段。如果代表全部出口子网掩码可用0000。
Gateway代表出口网关。
其他interface和metric分别代表特殊路由的接口数目和到达目标地址的代价,一般可不予理会。

Java中的静态方法在class文件被加载时就会分配内存,而非静态方法要在程序运行过程中类实例化后才会存在;
因此静态方法可以用类名来调用,不用实例化,也可以用对象名来调用;而非静态方法只能在类实例化之后用对象名来调用;
按照我的理解,静态方法不能调用普通方法的原因在于:(1)如上所述,有可能静态方法存在了,但是由于类还没有被实例化,在静态方法中调用非静态方法会引起错误;(2)静态方法调用非静态方法与设计思想相悖,静态方法是属于整个类的,非静态方法是属于一个类的对象的,如果一个非静态方法中设计到修改对象的私有成员,在静态方法中调用这个非静态方法就会导致本来属于整个类的静态方法修改了类的一个特定对象的私有成员,这是与本来的设计目标相悖的。

不是先执行静态代码快。当调用静态方法时,首先执行静态类属性,static代码块也相当于一个类属性(我是这样理解的);执行的顺序是你属性的排列顺序。当第一次调用静态属性或静态方法以及第一次创建对象时,都会初始化静态属性,分配内存,而且以后不再初始化。如下例:
package eduhumy;public class Demo4{ public static Demo4_1 d1 = new Demo4_1(1); public static Demo4_1 d2 = new Demo4_1(2); public static void f() { Systemoutprintln("。。。。。"); } public static void main(String[]args) { Systemoutprintln(""+Demo4d2+""); Demo4f(); }}class Demo4_1{ public Demo4_1(int i) { Systemoutprintln(i++); }}输出:
12eduhumyDemo4_1@15bdc50。。。。。当第一次调用静态属性d2时初始化,所有静态属性;再调用方法f()时,就没有再初始化了。

C# string类应用
判断是否包含子串
想要判断一个字符中是否包含某个子串,可以用Contains方法来实现:
Ø public bool Contains (string value)
参数value为待判定的子串。如果包含,返回true;否则返回false。下面的代码判断“Hello”中是否包含两个子串。
1 bool b1 = strAContains("ll"); //true
2 bool b1 = strAContains("MM"); //false
414 定位字符和子串
定位子串是指在一个字符串中寻找其中包含的子串或者某个字符。在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面进行详细介绍。
1.IndexOf/LastIndexOf
IndexOf方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的重载形式如下所示。
(1)定位字符:
int IndexOf(char value)
int IndexOf(char value, int startIndex)
int IndexOf(char value, int startIndex, int count)
(2)定位子串:
int IndexOf(string value)
int IndexOf(string value, int startIndex)
int IndexOf(string value, int startIndex, int count)
在上述重载形式中,其参数含义如下:
value:待定位的字符或者子串。
startIndex:在总串中开始搜索的其实位置。
count:在总串中从起始位置开始搜索的字符数。
下面的代码在“Hello”中寻找字符‘l’第一次出现的位置。
代码4-7 使用IndexOf寻找字符第一次出现位置:Defaultaspxcs
1 String s=”Hello”;
2 int I = sIndexOf(‘l’)); //2
同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或者子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述。
2.IndexOfAny/LastIndexOfAny
IndexOfAny方法功能同IndexOf类似,区别在于,它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。同样,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的IndexOfAny重载形式有3种:
(1)int IndexOfAny(char[]anyOf);
(2)int IndexOfAny(char[]anyOf, int startIndex);
(3)int IndexOfAny(char[]anyOf, int startIndex, int count)。
在上述重载形式中,其参数含义如下:
(1)anyOf:待定位的字符数组,方法将返回这个数组中任意一个字符第一次出现的位置。
(2)startIndex:在原字符串中开始搜索的其实位置。
(3)count:在原字符串中从起始位置开始搜索的字符数。
下例在“Hello”中寻找字符‘l’第一次和最后一次出现的位置。
代码4-8 使用IndexOfAny寻找子串第一次和最后一次出现位置:Defaultaspxcs
1 String s = “Hello”;
2 char[] anyOf=;
3 int i1 = sIndexOfAny(anyOf)); //0
4 int i2 = sLastIndexOfAny(anyOf)); //3
同IndexOfAny类似,LastIndexOfAny用于搜索在一个字符串中,出现在一个字符数组中任意字符最后一次出现的位置。
415 格式化字符串
Format方法用于创建格式化的字符串及连接多个字符串对象。如果读者熟悉C语言中的sprintf()方法,可以了解两者有类似之处。Format方法也有多个重载形式,最常用的为:
Ø static string Format(string format, params object[] args);
其中,参数format用于指定返回字符串的格式,而args为一系列变量参数。可以通过下面的实例来掌握其使用方法。
代码4-9 使用Format设置字符串格式:Defaultaspxcs
1 //Format
2 String newStr=StringFormat(",!",strA,strB); //Hello,World!
在format参数中包含一些用大括号扩起来的数字,如、,这些数字分别一一对应于args参数数组中的变量。在生成结果字符串时,将使用这些变量代替。需要说明的是,这些变量并不要求必须为String类型。
在特定的应用中,Format方法非常方便。例如,想要输出一定格式的时间字符串,便可以使用Format方法,如下面代码所示:
newStr=StringFormat("CurrentTime=",SystemDateTimeNow);//形如:2007-05-19
其中,格式字符串“yyyy-MM-dd”指定返回时间的格式如“2007-05-19”,其定义可参考SystemGlobalizationDateTimeFormatInfo类。
416 连接字符串
String类包含了两个连接字符串的静态方法,它们是Concat和Join,下面分别进行介绍。
1.Concat方法
Concat方法用于连接两个或多个字符串。如果读者熟悉C语言中的strcat()方法,可以了解两者有类似之处。Concat方法也有多个重载形式,最常用的为:
Ø static string Concat(params string[]values);
其中,参数values用于指定所要连接的多个字符串,可以通过下面的实例来掌握其使用方法。
代码4-10 使用Concat连接字符串:Defaultaspxcs
1 //Concat
2 newStr="";
3 newStr=StringConcat(strA," ",strB);
4 ConsoleWriteLine(newStr); //"Hello World"
2.Join方法
Join方法利用一个字符数组和一个分隔符串构造新的字符串。它常常用于把多个字符串连接在一起,并用一个特殊的符号来分隔开。Join的常用形式为:
Ø static string Join(string separator, string[]value);
其中,参数separator 为指定的分隔符,而values用于指定所要连接的多个字符串数组,下例用“^^”分隔符把“Hello”和“World”连起来。
代码4-11 使用Join连接字符串:Defaultaspxcs
1 //Join
2 newStr="";
3 String[] strArr=;
4 newStr=StringJoin("^^",strArr);
5 ConsoleWriteLine(newStr); //"Hello^^World"
3.连接运算符“+”
String支持连接运算符“+”,可以方便的连接多个字符串,如下例把“Hello”和“World”连接起来。
代码4-12 使用“+”连接字符串:Defaultaspxcs
1 //使用+
2 newStr="";
3 newStr=strA+strB; //"HelloWorld"
417 拆分字符串
使用Join方法,可以利用一个分隔符把多个字符串连接起来。反过来,使用Split方法可以把一个整串,按照某个分隔字符或者字符串,拆分成一系列小的字符串。例如,把整串“Hello^^World”按照字符“^”进行拆分,可以得到3个小的字符串:“Hello”、“”(空串)和“World”;根据字符串“^^”,则可以得到两个小的字符串:“Hello”和“World”。
1.根据字符拆分
根据字符拆分的Split重载方法是:
Ø public string[]Split(params char[]separator);
其中,参数separator数组包含分隔符。下例把“Hello^^World”根据“^”进行拆分。
代码4-13 根据字符分裂分隔符字符串:Defaultaspxcs
1 //Split
2 newStr="Hello^^World";
3 char[] separator=;
4 String[] splitStrings=new String[100];
5 splitStrings=newStrSplit(separator);
6 int i=0;
7 while(i<splitStringsLength)
8 {
9 ConsoleWriteLine(splitStrings[i])
10 i++;
11 }
输出结果为:
Hello
World
2.根据字符串拆分
根据字符拆分的Split重载方法是:
Ø public string[]Split(string[] separator,StringSplitOptions options)
其中,参数separator数组是分隔字符串数组;参数options取值RemoveEmptyEntries时,将过滤空的数组元素,若取值one则返回。下例把“Hello^^World”根据“^^”进行拆分。
代码4-14 根据字符串分裂分隔符字符串:Defaultaspxcs
1 //split
2 String[] separator = new string[] ;
3 String[] splitStrings=new String[100];
4 splitStrings=newStrSplit(separator,StringSplitOptionsNone);
5 int i=0;
6 while(i<splitStringsLength)
7 {
8 PageResponseWrite(splitStrings[i] + "<br />");
9 i++;
10 }
输出结果为:
Hello
World
418 插入字符串
String类包含了在一个字符串中插入新元素的方法Insert,用于在字符串的任意位置插入任意的字符:
Ø public string Insert(int startIndex, string value);
其中,参数startIndex用于指定所要插入的位置,从0开始索引;value指定所要插入的字符串。下例中,在“Hello”的字符“H”后面插入“World”,构造一个串“HWorldello”。
代码4-15 使用Insert插入字符串:Defaultaspxcs
1 //Insert
2 newStr="";
3 newStr=strAInsert(1,strB); //"HWorldello"
419 填充字符串
有时候,可能需要对一个字符串进行填充,例如,想要把“Hello”变为长度为20个字符的串,并使用字符“”进行填充,即变为“Hello”。PadLeft方法可以实现这个功能,用于在一个字符串的左侧进行字符填充,使其达到一定的长度。PadLeft有两种重载形式:
Ø public string PadLeft(int totalWidth);
Ø public string PadLeft(int totalWidth, char paddingChar);
其中,参数totalWidth指定了填充后的字符长度,而paddingChar指定所要填充的字符,如果默认,则填充空格符号。
下例中,实现了对“Hello”的填充 *** 作,使其长度变为20。
代码4-16 使用PadLeft填充字符串:Defaultaspxcs
1 //PadLeft
2 newStr="";
3 newStr=strAPadLeft(20,''); //"Hello "
同PadLeft类似,PadRight可以实现对一个字符在其右侧的填充功能,对其不作赘述。
4110 删除字符串
String类包含了删除一个字符串的方法,可以用Remove方法在任意位置删除任意长度的字符,也可以使用Trim/TrimEnd/TrimStart方法剪切掉字符串中的一些特定字符。
1.Remove方法
Remove方法从一个字符串的制定位置开始,删除指定数量的字符。最常用的为:
Ø public string Remove( int startIndex, int count);
其中,参数startIndex用于指定所要开始删除的位置,从0开始索引;count指定所要删除的字符数量。下例中,把“Hello”中的“ell”删掉。
代码4-17 使用Remove删除字符串:Defaultaspxcs
1 //Remove
2 newStr="";
3 newStr=strARemove(1,3); //"Ho"
2.Trim/TrimStart/TrimEnd方法
若想把一个字符串首尾处的一些特殊字符剪切掉,如去掉一个字符串首尾的空格等,可以使用String的Trim方法。其形式为:
Ø public string Trim ();
Ø public string Trim (params char[]trimChars);
其中,参数trimChars数组包含了指定了所要去掉的字符,如果默认,则删除空格符号。下例中,实现了对“@Hello# $”的净化,去掉首尾的特殊符号。
代码4-18 使用Trim去掉首尾的特殊符号:Defaultaspxcs
1 //Trim
2 newStr="";
3 char[] trimChars=;
4 String strC="@Hello# $";
5 串catorldnewStr=strCTrim(trimChars); //"Hello"
另外,同Trim类似,TrimStart和TrimEnd分别剪切掉一个字符串开头和结尾处的特殊字符。
4111 复制字符串
String类包含了复制字符串方法Copy和CopyTo,可以完成对一个字符串及其一部分的复制 *** 作。
1.Copy方法
若想把一个字符串复制到另一个字符串中,可以使用String的静态方法Copy来实现,其形式为:
Ø static string Copy(string str);
其中,参数str为需要复制的源字符串,方法返回目标字符串。下例中,把TextBoxA种的字符串复制到newStr中。
代码4-19 使用Copy复制字符串:Defaultaspxcs
1 //Copy
2 newStr="";
3 newStr=StringCopy(strA); //"Hello"
2.CopyTo方法
CopyTo方法可以实现Copy同样的功能,但功能更为丰富,可以复制源字符串中的一部分到一个字符数组中。另外,CopyTo不是静态方法,其形式为:
Ø public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);
其中,参数sourceIndex为需要复制的字符起始位置,destination为目标字符数组,destinationIndex制定目标数组中的开始存放位置,而count指定所要复制的字符个数。下例中,把strA字符串“Hello”中的“ell”复制到newCharArr中,并在newCharArr中从第2个元素开始存放。
代码4-20 使用CopyTo复制字符串:Defaultaspxcs
1 //CopyTo
2 char[] newCharArr=new char[100];
3 strACopyTo(2,newCharArr,0,3); //"Hel"
4112 替换字符串
如果想要替换掉一个字符串中的某些特定字符或者某个子串,可以使用Replace方法来实现,其形式为:
Ø public string Replace(char oldChar, char newChar);
Ø public string Replace(string oldValue, string oldValue,);
其中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为替换后的新字符和新子串。下例把“Hello”通过替换变为“Hero”。
代码4-21 使用Replace替换字符串:Defaultaspxcs
1 //Replace
2 newStr=strAReplace("ll","r"); //Hero
4113 更改大小写
String提供了方便转换字符串中所有字符大小写的方法ToUpper和ToLower。这两个方法没有输入参数,使用也非常简单。下例首先把“Hello”转换为“HELLO”,然后在变为小写形式“hello”。
代码4-22 使用ToUpper更改字符串大小写:Defaultaspxcs
1 //ToUpper
2 newStr=strAToUpper(); //HELLO
3 //ToLower
4 newStr=strAToLower(); //hello
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/12596186.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存